在 VS2013 中使用 OdbcConnection 连接到 mdb 文件
Connecting to an mdb file using OdbcConnection in VS2013
我正在尝试使用 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();
无论我尝试什么,我都会收到以下错误:
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not
found and no default driver specified
我已经安装了 "Microsoft Access Database Engine 2010 Redistributable" 和“2007 Office 系统驱动程序:数据连接组件”,但它们都没有任何区别。我可以从 VS 2013 项目菜单创建一个新的数据源,并且在设计时一切正常。
当我创建一个空白的 udl 文件并双击它并转到提供程序选项卡时,没有列出任何关于 Access 或 Jet 的内容,但我可以在 HKEY_CURRENT_USER\Software\Microsoft\VWDExpress.[=26 的注册表中看到提供程序=].为什么他们不在那里?
我还能做些什么来让它工作?我能想到的都试过了
我假设您无法通过 OdbcConnection
连接到 mdb
。无论如何,要连接到数据库,您必须在您的代码中未指定的连接对象上指定连接字符串。
要访问 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
}
我正在尝试使用 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();
无论我尝试什么,我都会收到以下错误:
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
我已经安装了 "Microsoft Access Database Engine 2010 Redistributable" 和“2007 Office 系统驱动程序:数据连接组件”,但它们都没有任何区别。我可以从 VS 2013 项目菜单创建一个新的数据源,并且在设计时一切正常。
当我创建一个空白的 udl 文件并双击它并转到提供程序选项卡时,没有列出任何关于 Access 或 Jet 的内容,但我可以在 HKEY_CURRENT_USER\Software\Microsoft\VWDExpress.[=26 的注册表中看到提供程序=].为什么他们不在那里?
我还能做些什么来让它工作?我能想到的都试过了
我假设您无法通过 OdbcConnection
连接到 mdb
。无论如何,要连接到数据库,您必须在您的代码中未指定的连接对象上指定连接字符串。
要访问 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
}