詳談ADO.NET程序使用技巧與相關事宜
對于ADO.NET程序提供一個類的集合,專門設計用來同特定類型的數(shù)據(jù)存儲區(qū)進行通信。.NET Framework包括4種此類提供程序:SQL Client .NET數(shù)據(jù)提供程序、Oracle Client .NET數(shù)據(jù)提供程序。
SQL Client和Oracle Client .NET數(shù)據(jù)提供程序設計用于分別同特定數(shù)據(jù)庫——SQL Server和Oracle進行通信。ODBC和OLE DB .NET數(shù)據(jù)提供程序經(jīng)常被稱為“橋梁”組件,因為它們用作通向早期技術——ODBC和OLE DB的橋梁。這些提供程序使開發(fā)人員能夠分別通過ODBC驅(qū)動程序和OLE DB提供程序同各種數(shù)據(jù)存儲區(qū)進行通信。#t#
每種.NET數(shù)據(jù)提供程序都實現(xiàn)相同的基類—— ProviderFactory,Connection,ConnectionStringBuilder,Command,DataReader,Parameter和Transaction,只是其實際名稱取決于該數(shù)據(jù)提供程序。例如,SQL Client .NET數(shù)據(jù)提供程序具有SqlConnection類,ADO.NET程序而ODBC .NET數(shù)據(jù)提供程序包括OdbcConnection類。無論使用哪種.NET數(shù)據(jù)提供程序,此數(shù)據(jù)提供程序的Connection類都通過相同的基接口實現(xiàn)相同的基本特性。
- Visual C#
- //打開和關閉一個OdbcConnection
- OdbcConnection cnOdbc = new OdbcConnection();
- cnOdbc.ConnectionString = "Driver={SQL Server};" +
- @"Server=.\SQLExpress" +
- "Database=Northwind;...";
- cnOleDb.Open();
- ...
- cnOleDb.Close();
- //打開和關閉一個SqlConnection
- SqlConnection cnSql = new SqlConnection();
- cnSql.ConnectionString = @"Data Source=.\SQLExpress;" +
- "Initial Catalog=Northwind;...";
- cnSql.Open();
- ...
- cnSql.Close();
要對數(shù)據(jù)存儲區(qū)打開一個連接,可創(chuàng)建此提供程序連接類的一個實例,設置此對象的ConnectionString屬性,然后調(diào)用其Open方法即可。每個.NET數(shù)據(jù)提供程序都有自己的命名空間。.NET Framework中所包括的4個提供程序是System.Data命名空間的一個子集,非連接對象就位于System .Data命名空間之中。
SQL Client數(shù)據(jù)提供程序位于System.Data.SqlClient命名空間中,ADO.NET程序據(jù)提供程序位于System.Data.Odbc命名空間中;OLE DB .NET數(shù)據(jù)提供程序位于System.Data.OleDb命名空間中;Oracle Client .NET數(shù)據(jù)提供程序則位于ADO.NET程序命名空間中。