web.config 中与 ACCDB 的 ODBC 连接

ODBC connection to ACCDB in web.config

想在 ASP.NET 中连接到作为 ODBC(而不是 OleDb)数据源的 ACCDB 文件,但遇到连接字符串问题。由于我计划从 Visual Studio 2019 年将 Web 应用程序部署到 Azure,因此我需要一些可以完成旅程的东西。

这是我从 connectionstrings.com 中尝试的(我发现并非所有这些字符串都是最新的或不一定方便插入到 web.config):

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

这个 returns“不支持关键字:驱动程序”来自我正在开发的 IIS Express。

嗯,看起来不错:

我建议这样做:

Driver={Microsoft Access Driver (*.mdb, *.accdb)};
dbq=C:\test\test44.accdb;driverid=25;fil=MS Access;
maxbuffersize=2048;maxscanrows=8;pagetimeout=5;safetransactions=0;
threads=3;uid=admin;usercommitsync=Yes

以上是 Visual Studio 中的连接生成器吐出的内容。 并且您有 Dbq - 小心 - 我认为上限很重要 - 所以试试 dbq。

接下来: 房间里巨大的大象。

您使用的是 x32 位驱动程序,还是 x64 位驱动程序?您必须将您的项目位大小(代码编译)设置与驱动程序相匹配(您必须!!!)。

所以这个:

您必须设置并强制您的项目 运行 作为 x32 位。 (或者可能安装 x64 位版本的 Access 驱动程序。并且要小心。如果你正在 运行 宁 x64 位版本的驱动程序,并使用 Visual Studio 测试连接?它总是会失败,因为 VS 运行s 作为 x32 位应用程序。您必须 运行 应用程序来测试连接 - 不要将测试连接与 VS 连接构建器一起使用(您可能没有使用它们,但如果您正在使用,只是尝试为您节省一天的工作时间。

所以,创建一个 x32 配置项目。因此现在:

并且我假设您使用驱动器的 c: 或“root”的示例连接只是一个示例,因为大多数 windows 现在不允许直接从 c: root 位置使用文件.