資料提供程式用於連線到資料庫,執行命令並檢索資料記錄。它是一個效能更好的輕量級元件。 它還允許將資料放入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 名稱空間。 |
以下是資料提供者的核心物件。
編號 | 物件 | 描述 |
---|---|---|
1 | Connection |
它用於建立到特定資料源的連線。 |
2 | Command |
它用於執行查詢來執行資料庫操作。 |
3 | DataReader |
它用於從資料源讀取資料。DbDataReader 是所有DataReader 物件的基礎類別。 |
4 | DataAdapter |
它填充一個DataSet ,並解析資料源的更新。所有DataAdapter 物件的基礎類別都是DbDataAdapter 類。 |
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用戶端連線Oracle資料庫。資料提供程式支援Oracle用戶端軟體版本8.1.7或更高版本。該資料提供程式支援本地和分散式事務。
Oracle資料提供程式類位於System.Data.OracleClient
名稱空間中。我們必須使用System.Data.OracleClient
和System.data
在應用程式中與Oracle資料庫連線。參考以下範例程式碼 -
using System.Data;
using System.Data.OracleClient;
資料提供程式的選擇取決於應用程式的設計和資料源。選擇最佳的.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資料源的中間層和單層應用程式來說,這是有好處的。 |