在VS2013中使用OdbcConnection连接到mdb文件

时间:2015-01-10 13:47:24

标签: c# visual-studio-2013 oledbconnection

我正在尝试使用OdbcConnection连接到C#2013的mdb文件。我曾经在我的Windows 7和Windows 8计算机上安装了Office 2000,但我已经升级到Office 2013,现在两者都可以使用。我的数据库仍然是mdb格式。

以下是代码:

const string myConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Path\Mydb.mdb";
OdbcConnection connRL = new OdbcConnection();
connRL.Open();

无论我尝试过什么,我都会收到以下错误:

  

错误[IM002] [Microsoft] [ODBC驱动程序管理器]数据源名称不是   找到并且没有指定默认驱动程序

我已经安装了" Microsoft Access数据库引擎2010可再发行组件"和#34; 2007 Office System驱动程序:数据连接组件"但他们都没有任何区别。我可以从VS 2013项目菜单中创建一个新的数据源,并且所有数据源都在设计时工作。

当我创建一个空白的udl文件并双击它并转到提供程序选项卡时,没有列出任何关于Access或Jet的内容,但我可以在注册表中看到HKEY_CURRENT_USER \ Software \ Microsoft \ VWDExpress中的提供程序\ 12.0_Config \的dataProvider。他们为什么不在那里?

我还能做些什么才能让它发挥作用?我已经尝试了我能想到的一切。

1 个答案:

答案 0 :(得分:1)

我认为您无法通过mdb连接OdbcConnection。无论如何,要连接到DB,必须在连接对象上指定未在代码中指定的连接字符串。

要访问mdb,请使用以下代码:

const string myConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Path\Mydb.mdb";
using(var connRL = new OleDbConnection(myConnectionString))
{
    //use your connection
}