ADO.Net數據提供程序

數據提供程序用於連接到數據庫,執行命令並檢索數據記錄。它是一個性能更好的輕量級組件。 它還允許將數據放入DataSet中以在應用程序中進一步使用。

.NET Framework提供了可以在應用程序中使用的下列數據提供者。

編號

.NET Framework數據提供者

描述

1

用於SQL Server的.NET Framework數據提供程序

它爲Microsoft SQL Server提供數據訪問。它需要System.Data.SqlClient命名空間。

2

用於OLE DB的.NET Framework數據提供程序

它用於連接OLE DB。它需要System.Data.OleDb命名空間。

3

用於Oracle的.NET Framework數據提供程序

它用於Oracle數據源。它使用System.Data.OracleClient命名空間。

4

EntityClient提供程序

它爲實體數據模型應用程序提供數據訪問。它需要System.Data.EntityClient命名空間。

5

用於SQL Server Compact 4.0的.NET Framework數據提供程序。

它爲Microsoft SQL Server Compact 4.0提供數據訪問。它需要System.Data.SqlServerCe命名空間。

.NET Framework數據提供程序對象

以下是數據提供者的核心對象。

編號

對象

描述

1

Connection

它用於建立到特定數據源的連接。

2

Command

它用於執行查詢來執行數據庫操作。

3

DataReader

它用於從數據源讀取數據。DbDataReader是所有DataReader對象的基類。

4

DataAdapter

它填充一個DataSet,並解析數據源的更新。所有DataAdapter對象的基類都是DbDataAdapter類。

用於SQL Server的.NET Framework數據提供程序

SQL Server的數據提供者是一個輕量級組件。它提供了更好的性能,因爲它直接訪問SQL Server而沒有任何中間連接層。在早期版本中,它在連接到創建性能問題的SQL Server之前與ODBC層進行交互。

SQL Server類的.NET Framework數據提供程序位於System.Data.SqlClient命名空間中。我們可以使用下面的語法在C#應用程序中包含這個名稱空間。

using System.Data.SqlClient;

這個命名空間包含以下重要的類。

編號

描述

1

SqlConnection

它用於創建與SQL Server的連接。這個類不能被繼承。

2

SqlCommand

它用於執行數據庫查詢。這個類不能被繼承。

3

SqlDataAdapter

它表示一組用於填充DataSet的數據命令和數據庫連接。這個類不能被繼承。

4

SqlDataReader

它用於從SQL Server數據庫中讀取行。這個類不能被繼承。

5

SqlException

這個類用來拋出SQL異常,發生錯誤時會引發異常。這個類不能被繼承。

用於Oracle的.NET Framework數據提供程序

它用於通過Oracle客戶端連接Oracle數據庫。數據提供程序支持Oracle客戶端軟件版本8.1.7或更高版本。該數據提供程序支持本地和分佈式事務。

Oracle數據提供程序類位於System.Data.OracleClient命名空間中。我們必須使用System.Data.OracleClientSystem.data在應用程序中與Oracle數據庫連接。參考以下示例代碼 -

using System.Data;    
using System.Data.OracleClient;

哪個.NET Framework數據提供程序更好?

數據提供程序的選擇取決於應用程序的設計和數據源。選擇最佳的.NET Framework數據提供程序可以提高應用程序的性能,功能和完整性。下表顯示了數據提供程序的優缺點。

編號

數據提供程序

注意事項

1

用於SQL Server的.NET Framework數據提供程序

這對於使用Microsoft SQL Server的中間層應用程序,單層應用程序來說是不錯的選擇。

2

用於OLE DB的.NET Framework數據提供程序

對於使用Microsoft Access數據庫的單層應用程序來說是很好的選擇。

3

用於ODBC的.NET Framework數據提供程序

對於使用ODBC數據源的中間層和單層應用程序來說,這是不錯的選擇。

4

用於Oracle的.NET Framework數據提供程序

對於使用Oracle數據源的中間層和單層應用程序來說,這是有好處的。