ADO.NET - ADO.NET Data Providers
ADO.NET Framework Data Providers
Chúng ta biết rằng ADO.NET cho phép tương tác với các loại dữ liệu và kiểu database. Mỗi loại dữ liệu cần một cách thức khác nhau để có thể truy xuất. Các loại dữ liệu cũ sử dụng giao thức ODBC, các loại dữ liệu mới hơn sử dụng giao thức OleDb. Vì vậy cần có một thư viện thống nhất để làm việc với chúng, đây chính là lý do mà ADO.NET được tạo ra.
ADO.NET cung cấp một cách thức chung để tương tác với nguồn dữ liệu, nhưng với mỗi loại dữ liệu bạn phải sử dụng một thư viện khác nhau. Các thư viện này được gọi là Data Provider và thường được đặt tên theo giao thức hoặc loại dữ liệu mà chúng cho phép bạn truy xuất. Bảng sau liệt kê các data provider phổ biến.
.NET Framework data provider | Mô tả |
---|---|
.NET Framework Data Provider for SQL Server | Được sử dụng để kết nối CSDL Microsoft SQL Server. Yêu cầu namespace System.Data.SqlClient . |
.NET Framework Data Provider for OLE DB | Được sử dụng để kết nối OLE DB. Yêu cầu namespace System.Data.OleDb namespace. |
.NET Framework Data Provider for ODBC | Được sử dụng để kết nối nguồn dữ liệu sử dụng ODBC. Yêu cầu namespace System.Data.Odbc. |
.NET Framework Data Provider for Oracle | Được sử dụng Oracle data sources. Yêu cầu namespace System.Data.OracleClient namespace. |
EntityClient Provider | Được sử dụng để truy cập các ứng dụng dạng Entity Data Model . Yêu cầu namespace System.Data.EntityClient. |
.NET Framework Data Provider for SQL Server Compact 4.0. | Được sử dụng để truy cập Microsoft SQL Server Compact 4.0. Yêu cầu namespace System.Data.SqlServerCe. |
Các đối tượng trong .NET Framework Data Providers
Đối tượng | Mô tả |
---|---|
Connection | Thường được sử dụng để kết nối với một CSDL cụ thể.. |
Command | Thương được sử dụng để thực thi các câu truy vấn trong CSDL. |
DataReader | Thương được sử dụng để đọc dữ liệu trong CSDL. |
DataAdapter | It populates a DataSet and resolves updates with the data source. The base class for all DataAdapter objects is the DbDataAdapter class. |
NET Framework Data Provider for SQL Server
Data provider xử lý dữ liệu tốt hơn. Vì, nó kết nối trực tiếp đến SQL Server không cần lớp trung gian. Trong phiên bản trước, nó có thể kết nối với SQL Server thông qua ODBC.
Các lớp kết nối với CSDL SQL Server classes chứa trong namespace System.Data.SqlClient. Namespace này chứa trong ứng dụng chúng ta theo cú pháp:
using System.Data.SqlClient;
Namespace chứa các lớp quan trọng.
Lớp | Mô tả |
---|---|
SqlConnection | Được sử dụng để kết nối CSDL SQL Server. Lớp này không thể kế thừa. |
SqlCommand | Được sử dụng để thực thi các câu truy vấn trong CSDL. Lớp này không thể kế thừa. |
SqlDataAdapter | Lớp này là lớp trung gian để đọc dữ liệu cho DataSet. Lớp này không thể kế thừa. |
SqlDataReader |
Đối tượng data reader cho phép bạn lấy được kết quả của một câu lệnh SELECT từ một đối tượng command. |
SqlException | Lớp này được sử dụng để bắt lỗi. Lớp này không thể kế thừa. |
.NET Framework Data Provider for Oracle
Thường được sử dụng kết nối với CSDL Oracle. Data Provider hỗ trợ phiên bản từ 8.1.7 trở lên.
Các lớp Oracle Data Provider chứa trong namespace System.Data.OracleClient. Chúng ta phải sử dụng cả hai System.Data.OracleClient và System.data trong ứng để kết nối CSDL Oracle.
using System.Data;
using System.Data.OracleClient;
.NET Framework Data Provider nào là tốt hơn
Sự lựa chọn Data Provider nào còn phụ thuộc vào nguồn dữ liệu trong ứng dụng. Việc chọng .NET Framework Data Provider có thể cải tiến khả năng chứa, thực thi, tích hợp trong ứng dụng. Bảng sau mô tả tiện lợi và không tiện lợi của Data Provider
Data Provider | Note |
---|---|
.NET Framework Data Provider for SQL Server | Hiệu quả trong các ứng dụng middle-tier , single-tier applications sử dụng CSDL Microsoft SQL Server. |
.NET Framework Data Provider for OLE DB | Hiệu quả trong các ứng dụng single-tier applications sử dụng Microsoft Access databases. |
.NET Framework Data Provider for ODBC | Hiệu quả trong các ứng dụng middle và single-tier sử dụng ODBC data sources. |
.NET Framework Data Provider for Oracle | Hiệu quả trong các ứng dụng middle và single-tier sử dụng Oracle data sources. |