在正式版的.net中我们发现没有了asp和.net beta版的odbc数据访问。如果需要访问数据库就只能使用OleDB
,OleDB访问数据库的速度比ODBC要快。但是在OleDB中我们发现如果你需要连接一个其他的数据库就实现不了。但是如果能使用ODBC的话,访问其他类型的数据库就很容易了。
那么我们怎么实现ODBC呢?
其实ms提供了ODBC的类库,只是没有放到framework里,需要我们去ms下载。大家可以去ms的downloads里search一下。这个程序我已经放在了C#的ftp里,dotnet>>softwore
下载后安装(前提:你的机器上已经安装了framework了)。安装后我们可以发现程序菜单里多了ODBC .NET Data Provider项,有它的帮助文件。程序所在的dll:安装目录下Microsoft.Data.Odbc.dll。这一个Dll会自动的加入vs.net的引用中。我们可以在项目的引用中加入此类,就可以在程序中使用了。
创建ODBC数据库连接:系统dsn。
public void CreateOdbcConnection()
{
string myConnString = "DSN=sqlserver";
OdbcConnection myConnection = new OdbcConnection(myConnString);
myConnection.Open();
myConnection.ChangeDatabase(“northwind”);
MessageBox.Show("Database: " + myConnection.Database.ToString());
myConnection.Close();
}
ODBC下有两种数据访问类:OdbcDataAdapter和OdbcDataReader
方法和oledb差不多,大家自己看看吧。
用这种方法,我们就可以使用ODBC访问数据库了,对于其他数据库,我们只要建立一个系统dsn就可以在.net中通过ODBC访问了。
如果没有装vs.net,可以使用命令行编译:
csc /r:Microsoft.Data.Odbc.dll