Tôi thấy điều này rất khó để có câu trả lời nhưng cuối cùng đã tìm ra. Vì vậy, tôi sẽ viết các bước dưới đây.
Trước khi bạn thiết lập chuỗi kết nối bằng mã, hãy đảm bảo rằng bạn thực sự có thể truy cập cơ sở dữ liệu của mình. Bắt đầu rõ ràng bằng cách đăng nhập vào máy chủ cơ sở dữ liệu bằng cách sử dụng SSMS (Sql Server Management Studio hoặc nó tương đương trong các cơ sở dữ liệu khác) cục bộ để đảm bảo bạn có quyền truy cập bằng bất kỳ chi tiết nào bạn định sử dụng.
Tiếp theo (nếu cần), nếu bạn đang cố gắng truy cập cơ sở dữ liệu trên một máy chủ riêng biệt, hãy đảm bảo rằng bạn có thể làm tương tự trong SSMS. Vì vậy, hãy thiết lập SSMS trên máy tính và đảm bảo bạn có thể truy cập máy chủ bằng tên người dùng và mật khẩu vào máy chủ cơ sở dữ liệu đó.
Nếu bạn không thực hiện đúng 2 điều trên, bạn chỉ đang lãng phí thời gian của mình vì bạn không thể truy cập cơ sở dữ liệu. Điều này có thể là do người dùng bạn thiết lập sai, không bật quyền truy cập từ xa (nếu cần) hoặc các cổng không được mở (nếu cần), trong số nhiều lý do khác nhưng đây là những lý do phổ biến nhất.
Khi bạn đã xác minh rằng bạn có thể truy cập cơ sở dữ liệu bằng SSMS. Bước tiếp theo, chỉ nhằm mục đích tự động hóa quy trình và tránh sai sót, là để hệ thống thực hiện công việc cho bạn.
- Bắt đầu một dự án trống, thêm sự lựa chọn của bạn về Linq to SQL hoặc Dataset (EF tốt nhưng chuỗi kết nối được nhúng bên trong chuỗi con EF, tôi muốn một chuỗi sạch) và kết nối với cơ sở dữ liệu của bạn bằng cách sử dụng các chi tiết đã xác minh ở trên trong wizzard chuỗi con. Thêm bất kỳ bảng nào và lưu tệp.
Bây giờ, hãy vào cấu hình web, và thật kỳ diệu, bạn sẽ thấy chuỗi kết nối hoạt động sạch đẹp ở đó với tất cả các chi tiết bạn cần.
{Dưới đây là một phần của bài đăng cũ nên bạn có thể bỏ qua điều này, tôi để nó tham khảo vì đây là cách cơ bản nhất để truy cập cơ sở dữ liệu chỉ từ mã phía sau. Vui lòng cuộn xuống và tiếp tục từ bước 2 bên dưới. }
Hãy giả sử các bước trên bắt đầu với một cái gì đó giống như sau làm chuỗi kết nối của bạn trong mã phía sau:
string conString = "Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;";
Bước này rất quan trọng. Đảm bảo rằng bạn có định dạng chuỗi kết nối ở trên hoạt động trước khi thực hiện các bước sau. Đảm bảo rằng bạn thực sự có thể truy cập dữ liệu của mình bằng cách sử dụng một số dạng văn bản lệnh sql hiển thị một số dữ liệu từ bảng dưới dạng nhãn hoặc phần văn bản hoặc bất cứ thứ gì, vì đây là cách đơn giản nhất để thực hiện chuỗi kết nối.
Sau khi bạn chắc chắn rằng kiểu trên hoạt động, bây giờ là lúc để thực hiện các bước tiếp theo:
1. Xuất chuỗi ký tự của bạn (nội dung trong dấu ngoặc kép, bao gồm cả dấu ngoặc kép) sang phần sau của tệp web.config (đối với nhiều chuỗi kết nối, chỉ cần thực hiện nhiều dòng:
<configuration>
<connectionStrings>
<add name="conString" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString2" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString3" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
{Trên đây là một phần của bài viết cũ, sau khi thực hiện 3 bước trên, toàn bộ quá trình này sẽ được thực hiện cho bạn, nên bạn có thể bỏ qua. Tôi chỉ để nó ở đây để tham khảo của riêng tôi. }
2. Bây giờ hãy thêm dòng mã sau vào mã C # phía sau, được ghép sẵn ngay dưới định nghĩa lớp (tức là không bên trong một phương thức). Điều này trỏ đến thư mục gốc của dự án của bạn. Về cơ bản nó là tên dự án. Đây thường là vị trí của tệp web.config (trong trường hợp này dự án của tôi được gọi là MyProject.
static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");
3. Bây giờ thêm dòng mã sau vào mã C # phía sau. Điều này thiết lập một hằng chuỗi mà bạn có thể tham khảo ở nhiều nơi trong suốt mã của mình nếu bạn cần một chuỗi con trong các phương thức khác nhau.
const string CONSTRINGNAME = "conString";
4. Tiếp theo thêm dòng mã sau vào mã C # phía sau. Điều này lấy chuỗi kết nối từ tệp web.config với tên conString (từ hằng số ở trên)
ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];
5. Cuối cùng, nơi bạn ban đầu sẽ có một cái gì đó tương tự như dòng mã này:
SqlConnection con = new SqlConnection(conString)
bạn sẽ thay thế nó bằng dòng mã này:
SqlConnection con = new SqlConnection(conString.ConnectionString)
Sau khi thực hiện 5 bước này, mã của bạn sẽ hoạt động như trước đó. Tìm hiểu lý do bạn kiểm tra hằng số trước ở định dạng gốc của nó để bạn biết liệu đó có phải là sự cố với chuỗi kết nối hay đó là sự cố với mã.
Tôi mới sử dụng C #, ASP.Net và Sql Server. Vì vậy, tôi chắc chắn phải có một cách tốt hơn để làm mã này. Tôi cũng sẽ cung cấp phản hồi về cách cải thiện các bước này nếu có thể. Tôi đã tìm kiếm tất cả những thứ như thế này nhưng cuối cùng tôi đã tìm ra nó sau nhiều tuần làm việc chăm chỉ. Tự nhìn lại, tôi vẫn nghĩ, phải có một cách dễ dàng hơn.
Tôi hy vọng điều này là hữu ích.