【发布时间】:2014-12-16 05:44:52
【问题描述】:
我过去使用 ODBC 连接到 Access DB 时从未遇到过问题。现在我尝试使用 ADO/OLEDB 进行连接,但出现此错误(无 DSN 连接):
System.Runtime.InteropServices.COMException: [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序。
我不再使用 ODBC。正如我所说,我正在使用 ADO/OLEDB。这是我的代码:
var conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb";
// I've also tried the one below, same error
// var conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\\test.mdb";
var con = new ADODB.Connection( conString );
// bombs here
con.Open();
我几乎查看了 Google 和本网站关于 MS Access 错误的所有内容。我尝试将我的项目改回 32 位 (x86)。似乎没有任何效果。
有人有什么想法吗?
更新: 我需要一个 ADODB 连接,因为我使用的是需要 ADODB 连接的 ADOX。
var cat = new Catalog();
// this line below will bomb for ODBC or OLEDB
cat.ActiveConnection = con;
【问题讨论】:
-
请为
ADODB.Connection(string)添加代码 -
呃,我不听。就在问题的正上方。
-
机器需要安装OLEDB驱动。来自:microsoft.com/en-in/download/details.aspx?id=13255
-
我已经安装了 Office。他们没有安装 Office?
-
我在一些驱动程序版本不兼容的机器上发现了这个问题,用于创建连接。