MS Access ODBC 问题

Posted

技术标签:

【中文标题】MS Access ODBC 问题【英文标题】:MS Access ODBC problems 【发布时间】:2011-02-21 07:41:00 【问题描述】:

我在使用带有 MS Access 数据库的 ODBC 驱动程序时遇到以下问题 我的数据库连接字符串是

private const string connectionString = @"Driver=Microsoft Access Driver (*.mdb);Dbq=D:\work\client.mdb;Pwd=sql;";

但是当我尝试连接到数据库时出现错误

ERROR [HY000] [Microsoft][ODBC Microsoft Access Driver] Could not find file 'D:\work\MyApp\MyApp\bin\Debug\dba.mdb'.

好的,我已将 mdb 文件放到位置 D:\work\MyApp\MyApp\bin\Debug 并将其重命名为 dba.mdb 并得到另一个错误:

ERROR [42000] [Microsoft][ODBC Microsoft Access Driver] Not a valid password.

谁能帮我解决问题。

先谢谢你了。

【问题讨论】:

【参考方案1】:

我发现了一个问题。这是因为对数据库的查询包含方案名称

SELECT CODE, ISOCODE FROM dba.Table1

这是因为我的代码必须支持两种数据库 MS SQL Server 和 MS Access。对于 MS SQL Server,选择工作正常,但对于 Access,它天生就不是不可测试的错误,例如我在上面的问题中发布的。当我从选择中删除“dba”时,它就可以正常工作了。

【讨论】:

【参考方案2】:

您缺少 UID:

Driver=Microsoft Access Driver (*.mdb);Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;

【讨论】:

你可以看看这个有用的链接:connectionstrings.com/access#p88

以上是关于MS Access ODBC 问题的主要内容,如果未能解决你的问题,请参考以下文章

ODBC:用于 MS Access 的 SQL Server 2008 驱动程序

MS-Access ODBC 连接到 Oracle for SQL

无法使用 MS Access 2007 访问 ODBC DB

使用 ODBC 连接到 MYSQL 在 MS-Access 中运行 SQL 时出错

MS Access 中通过 ODBC 连接 MS SQL 表的查询非常慢

从 MS Access 中的 ODBC 连接中提取 UID