一、先介紹ADO.NET和ODBC.NET
ADO .NET由Microsoft ActiveX Data Objects (ADO)改進而來,它提供平臺互用和可收縮的數據訪問功能,是Visual Basic.NET進行數據庫編程所使用的重要工具。ADO.NET 使用了某些 ADO 的對象,如 Connection 和 Command 對象,并且還引入了新的對象。主要的新 ADO.NET 對象包括 DataSet、DataReader 和 DataAdapter。
ODBC.NET是.NET框架中另外一個很有用的用于數據庫開發的類庫。但是,在.NET FrameWork SDK1.0版中不包含ODBC.NET,要使用ODBC.NET請到微軟網站下載,具體下載地址:http://msdn.microsoft.com/library/default.asp?url=/downloads/list/netdevframework.asp(文件名是odbc_net.msi)在默認情況下,安裝路徑是“C:\Program File\Microsoft.net\odbc.net”。安裝后的組件名為Microsoft.Data.Odbc.dll文件。
添加ODBC .NET Data Provider的步驟:
啟動Visual Basic.NET開發環境,選中菜單欄的[工具]—>[數據]—>[自定義工具箱],在彈出的[自定義工具箱]對話框中選[.Net 框架組件]單擊[瀏覽]按鈕,在“C:\Program File\Microsoft.net\odbc.net”目錄下選擇Microsoft.Data.Odbc.dll文件。接下來就在[自定義工具箱]中選擇“OdbcCommand”、“OdbcCommandBuilder”、“OdbcConnection”、“OdbcDataApdater”后,單擊[確定]。至此,完成了在Visual Basic.NET中加入ODBC .NET。
二、接下來介紹數據提供者(Data Provider)
ADO.NET和ODBC.NET兩者共提供了三種數據提供者,其中ADO.NET提供兩種(The SQL Server .NET Data Provider和 The OLE DB .NET Data Provider )ODBC .NET提供一種(The ODBC .NET Data Provider)。表1是三種數據提供者及其支持的數據庫:
表1三種數據提供者及其支持的數據庫
三、接下來就分別介紹以上幾種數據提供者連接各種數據庫
1、用The SQL Server .NET Data Provider連接數據庫
The SQL Server .NET Data Provider是利用SqlConnection類來連接SQL Server7.0或更高版本的數據庫,
SqlConnection類位于名稱空間System.Data.SqlClient下。
連接代碼:
Dim sqlConnection1 As SqlClient.SqlConnection
Dim strConnect As String=”data source=服務器名;initial catalog=數據庫名;user id=sa;password=;”
sqlConnection1=New System.Data.SqlClient.SqlConnection(strConnect)
sqlConnection1.open ‘打開數據庫
sqlConnection1.close ‘關閉連接,釋放資源
2、 用The OLE DB .NET Data Provider連接數據庫
上面已經說過,利用The OLE DB .NET Data Provider可以訪問Aclearcase/" target="_blank" >ccess、Oracle和SQL Server等種數據庫,那么,它是怎樣訪問這些數據庫的呢?The OLE DB .NET Data Provider是通過位于名稱空間System.Data.OleDb類庫下的OleDbConnection類來連接這三種不同類型的數據庫的。下面舉例說明:
1)連接SQL Server數據庫
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=SQLOLEDB;Persist Security Info=False;Data Source=服務器名;Initial Catalog=數據庫名;User ID=sa;Password=;”
oleDbConnection1=New System.Data.OleDb.OleDbConnection(strConnect)
2)連接Access數據庫
假設要連接的Access數據庫名為“Example.mdb”,存放在d:\Data\目錄下。
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Data\ Example.mdb”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3)連接Oracle數據庫
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=MSDAORA;Data Source=服務器名;User ID=用戶ID;Password=密碼;”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3、 用The ODBC .NET Data Provider連接數據庫
The ODBC .NET Data Provider連接數據庫是通過OdbcConnection類來實現的,這個類位于名稱空間Microsoft.Data.Odbc下,而名稱空間Microsoft.Data.Odbc是封裝在Microsoft.Data.Odbc.dll文件下的。
1)連接Sql Server數據庫
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={SQL Server};Server=服務器名;Uid=sa;pwd=;Database= 數據庫名;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
2)連接Oracle數據庫
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={Microsoft ODBC for Oracle};Server=服務器名;Uid=sa;pwd=;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
四、總結
通過本文的介紹,讀者基本掌握了在Visual Basic.NET中用ADO.NET和ODBC.NET連接各種數據庫的方法。以上三種驅動針對不同的數據庫,它們的性能方面也有很大的不同:The SQL Server .NET Data Provider的效率最高;The OLE DB .NET Data Provider的效率比較底;The ODBC .NET Data Provider的效率最慢。
具體連接哪一種數據庫選用哪一種數據驅動要從工作效率方面來考慮。
原文轉自:http://www.anti-gravitydesign.com