一、先介绍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的效率最慢。
具体连接哪一种数据库选用哪一种数据驱动要从工作效率方面来考虑。