Tải bản đầy đủ (.doc) (3 trang)

Kết nối cơ sở dữ liệu trên c# doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (118.53 KB, 3 trang )

Kết nối cơ sở dữ liệu trên C# | Hướng dẫn
Bạn cần mở một kết nối đến một cơ sở dữ liệu.
Tạo một đối tượng kết nối phù hợp với kiểu cơ sở dữ liệu mà bạn cần kết nối; tất cả các
đối tượng kết nối đều hiện thực giao diện System.Data.IDbConnection. Cấu hình đối
tượng kết nối bằng cách thiết lập thuộc tính ConnectionString của nó. Mở kết nối bằng
cách gọi phương thức Open của đối tượng kết nối.
Bước đầu tiên trong việc truy xuất cơ sở dữ liệu là mở một một kết nối đến cơ sở dữ liệu.
Giao diện IDbConnection mô tả một kết nối cơ sở dữ liệu, và mỗi data-provider chứa một
hiện thực duy nhất. Dưới đây là danh sách các hiện thực IDbConnection cho năm data-
provider chuẩn:
• System.Data.Odbc.OdbcConnection
• System.Data.OleDb.OleDbConnection
• System.Data.OracleClient.OracleConnection
• System.Data.SqlServerCe.SqlCeConnection
• System.Data.SqlClient.SqlConnection
Bạn cấu hình một đối tượng kết nối bằng một chuỗi kết nối. Chuỗi kết nối là một tập các
cặp giá trị tên được phân cách bằng dấu chấm phẩy. Bạn có thể cung cấp một chuỗi kết
nối làm đối số trong phương thức khởi dựng hoặc bằng cách thiết lập thuộc tính
ConnectionString của đối tượng kết nối trước khi mở kết nối. Mỗi hiện thực lớp kết nối
yêu cầu bạn cung cấp những thông tin khác nhau trong chuỗi kết nối. Bạn hãy tham khảo
tài liệu về thuộc tính ConnectionString đối với mỗi hiện thực để biết được những giá trị
mà bạn có thể chỉ định. Dưới đây là một số thiết lập:
• Tên server cơ sở dữ liệu đích
• Tên cơ sở dữ liệu cần mở vào lúc đầu
• Giá trị timeout của kết nối
• Cơ chế connection-pooling (xem mục 10.2)
• Cơ chế xác thực dùng khi kết nối đến các cơ sở dữ liệu được bảo mật, bao gồm việc
cung cấp username và password
Một khi đã được cấu hình, gọi phương thức Open của đối tượng kết nối để mở kết nối
đến cơ sở dữ liệu. Kế đó, bạn có thể sử dụng đối tượng kết nối để thực thi những câu lệnh
dựa vào data-source (sẽ được thảo luận trong mục 10.3). Các thuộc tính của đối tượng kết


nối cũng cho phép bạn lấy thông tin về trạng thái của một kết nối và những thiết lập được
sử dụng để mở kết nối. Khi đã hoàn tất một kết nối, bạn nên gọi phương thức Close để
giải phóng các tài nguyên hệ thống và kết nối cơ sở dữ liệu nằm dưới. IDbConnection
được thừa kế từ System.IDisposable, nghĩa là mỗi lớp kết nối sẽ hiện thực phương thức
Dispose. Phương thức này sẽ tự động gọi Close, cho nên lệnh using là một cách rất rõ
ràng và hiệu quả khi sử dụng đối tượng kết nối trong mã lệnh.
Để đạt được hiệu năng tối ưu trong việc truy cập dữ liệu thì phải mở kết nối cơ sở dữ liệu
càng chậm càng tốt, và khi đã hoàn tất thì ngắt kết nối càng sớm càng tốt. Việc này bảo
đảm rằng, bạn không truy xuất tới kết nối cơ sở dữ liệu trong một thời gian dài và mã
lệnh có cơ hội cao nhất để giữ lấy kết nối. Điều này đặc biệt quan trọng nếu bạn đang sử
dụng connection-pooling.
Đoạn mã dưới đây trình bày cách sử dụng lớp SqlConnection để mở một kết nối đến SQL
Server đang chạy trên máy cục bộ có sử dụng Integrated Windows Security (bảo mật tích
hợp với Windows). Để truy xuất đến một máy từ xa, chỉ cần thay đổi data-source từ
localhost thành tên của đối tượng cơ sở dữ liệu.
C# code:
Lựa chọn code | Ẩn/Hiện code
// Tạo đối tượng SqlConnection rỗng.
using (SqlConnection con = new SqlConnection()) {
// Cấu hình chuỗi kết nối của đối tượng SqlConnection.
con.ConnectionString =
"Data Source = localhost;"+ // Đối tượng SQL Server
cục bộ
"Database = Northwind;" + // Cơ sở dữ liệu mẫu
Northwind
"Integrated Security=SSPI"; // Integrated Windows
Security
// Mở kết nối cơ sở dữ liệu.
con.Open();
// Hiển thị thông tin về kết nối.

if (con.State == ConnectionState.Open) {
Console.WriteLine("SqlConnection Information:");
Console.WriteLine(" Connection State = " +
con.State);
Console.WriteLine(" Connection String = " +
con.ConnectionString);
Console.WriteLine(" Database Source = " +
con.DataSource);
Console.WriteLine(" Database = " + con.Database);
Console.WriteLine(" Server Version = " +
con.ServerVersion);
Console.WriteLine(" Workstation Id = " +
con.WorkstationId);
Console.WriteLine(" Timeout = " +
con.ConnectionTimeout);
Console.WriteLine(" Packet Size = " +
con.PacketSize);
} else {
Console.WriteLine("SqlConnection failed to open.");
Console.WriteLine(" Connection State = " +
con.State);
}
// Cuối khối using, Dispose sẽ gọi Close.
}
Đoạn mã dưới đây trình bày một chuỗi kết nối dùng để mở một kết nối đến cơ sở dữ liệu
ở trên (nếu bạn đang sử dụng OLE DB Data Provider để thực hiện kết nối):
C# code:
Lựa chọn code | Ẩn/Hiện code
// Tạo một đối tượng OleDbConnection rỗng.
using (OleDbConnection con = new OleDbConnection())

{
// Cấu hình chuỗi kết nối của đối tượng
OleDbConnection.
con.ConnectionString =
"Provider = SQLOLEDB;" + // OLE DB Provider
for SQL Server
"Data Source = localhost;" + // Đối tượng SQL
Server cục bộ
"Initial Catalog = Northwind;" + // Cơ sở dữ liệu
mẫu Northwind
"Integrated Security=SSPI"; // Integrated
Windows Security
// Mở kết nối cơ sở dữ liệu.
con.Open();
§
}

×