Showing posts with label Database. Show all posts

Sửa lỗi tạo Diagram trong MS SQL Server Management studio

Nội dung lỗi:
Attempted to read or write protected memory. This is often an indication that other memory is corrupt. (Microsoft.VisualStudio.OLE.Interop).

Sửa:
Tải về: https://goo.gl/RVWU8a (700KB)

Trong tệp nén có 2 thư mục (MSDesigners8, Visual Database Tools) các bạn paste vào
C:\Program Files (x86)\Common Files\Microsoft Shared (ghi đè luôn)
hoặc C:\Program Files\Common Files\Microsoft Shared là được.

Nếu vẫn không được thì copy 2 thư mục này trên một máy không bị lỗi và paste vào.
3/22/2015
Đăng bởi :
Nhãn :

Các yêu cầu đóng gói phần mềm (có hoặc không có cơ sở dữ liệu)

thuvienwinform - Sau khi hoàn thành phần mềm thì công việc cuối cùng là đóng gói và triển khai cài đặt trên các máy tính để tiến hành sử dụng. Thế mà sau khi cài đặt chương trình không hoạt động mới đau chứ! Nguyên nhân chắc hẳn chưa đảm bảo các yêu cầu khi đóng gói để cài đặt trên máy khác, vậy cần những yêu cầu gì? Cần làm những gì để thỏa mãn các yêu cầu đó? Hãy cùng thuvienwinform giải quyết trong bài viết này.


Yêu cầu 1: Máy được cài phải đảm bảo các nền tảng cho chương trình hoạt động
Các nền tảng ở đây là phiên bản .NET dùng để viết phần mềm, ngoải ra còn các nền tảng thường được sử dụng như MS SQL (LocalDB, MS SQL Server,...), MS Office (nếu dụng CSDL Acess), DirectX, Microsoft Visual C++,...Máy cài muốn chạy được phần mềm thì phải được cài các nền tảng mà phần mềm sử dụng.

Để xem project được viết trên nền tảng .NET nào chọn Project -> [Tên project] Properties... (dòng cuối)

Cách 1

Cách 2

Ấn Applicaiton sẽ thấy phiên bản .NET của project (mục Target framwork)

Chú ý: Win XP không cài được phiên bản .NET 4.5 nên nếu muốn chạy trên win xp thì chọn .NET Framework 4 hoặc .NET Framework 4 Client Profile

Đường dẫn tải các phiên bản .NET: https://www.dropbox.com/s/h65eiyu449eh2rp/LinkTai.txt?dl=0

Để cài các nền tảng một cách tự động có thể sử dụng phần mềm đóng gói Advance Instaler (nếu cần hướng dẫn sử dụng các bạn bình luận phía dưới nha...vì trên mạng cũng nhiều bài hướng dẫn phần mềm này) nhưng khi thêm các trình cài các nền tảng này vào thì tệp cài đặt cũng sẽ rất nặng!

Yêu cầu 2: Đảm bảo đủ các thư viện cho chương trình hoạt động
Để đảm bảo một chương trình .NET hoạt động thì cần cung cấp đủ cho nó các thư viện. Cụ thể ở đây là các tệp .dll. Vậy làm sao để biết chương trình chúng ta cần những thư viện nào?

Rất đơn giản xem trong Refences:

Trong tab Solution 
mở thư mục References ra -> chọn các thư viện cần thiết -> Properties -> đặt copy local = true

Nếu bạn không xác định được là cần copy những thư viện nào thì CHỌN TẤT cho an toàn (dù sẽ làm chương trình nặng hơn đôi chút =]])


Sau khi Build thì các thư viện sẽ được copy vào Bin

Yêu cầu 3: Nếu sử dụng đến CSDL thì cần tạo chuỗi kết nối đúng đến CSDL
Vấn đề sẽ xuất hiện khi bạn cài trên máy khác -> làm đường dẫn đến tệp CSDL bị thay đổi so với trên máy code -> cần điểu chỉnh lại để kết nối đến được với tệp CSDL.

Để đơn giản thay lại chuỗi kết nối là được:
Ví dụ với việc dử dụng LocalDB
ADO.NET:

string duongDan = System.IO.Directory.GetCurrentDirectory() + "\\tentep.mdf;";
string chuoiKetNoi = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + duongDan + "Integrated Security=True;Connect Timeout=30";
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(chuoiKetNoi);


LINQ To SQL:

string duongDan = System.IO.Directory.GetCurrentDirectory() + "\\tentep.mdf;";
            string chuoiKetNoi = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + duongDan + "Integrated Security=True;Connect Timeout=30";
            DataContext db = new DataContext(chuoiKetNoi);

Chú ý: @

Tạm kết: chắc hẳn 3 yêu cầu này chưa thể thỏa được mọi trường hợp nhưng là 3 yêu cầu cơ bản để một phần mềm chạy được trên một máy tính.

Hãy sống thật vui và đóng gói phần mềm thật nhiều các bạn nhé:))
3/19/2015
Đăng bởi :

Lỗi "operation is not valid due to the current state of the object"

thuvienwinform - Thật là khó chịu, mất hẳn một ngày mới khắc phục được!

- Trường hợp phát sinh lỗi:
+ Winform
+ LINQ to SQL
+ Devexpress GridControl 14.1




- Nguyên nhân: thuộc tính HasLoadedOrAssignedValue (của struct System.Data.Linq.EntityRef) luôn trả về true -> thực hiện xử lý ngoại lệ System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException() trong đoạn:

if (this._BangChuaKhoaNgoai.HasLoadedOrAssignedValue)
{
	throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
}


HasLoadedOrAssignedValue kiểm tra xem bảng chứa khóa ngoại đã có giá trị hay chưa! (chắc vậy). Oái oăm thay cái GridControl nó tự thực hiện việc này nên phải tắt nó đi!

- Khắc phục:
Chỉnh thuộc tính EnableEdit của Gridview trong GridControl về fale


Hoặc


Tham khảo thêm:




11/15/2014
Đăng bởi :

Nhận ngay 100$ cho VPS

Mua hàng ủng hộ page

Ủng hộ page

Nhãn

Code (45) Team Foundation Server (17) Database (14) News (14) product (13) toolbox (10) Linq (9) SoftDesign (8) XNA (6) API (5) Project (5) item (4)

- Bản quyền thuộc về Thư Viện WinForm - Giao diện: Metrominimalist - Thiết kế: Johanes Djogan -