微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 ADO ODBC 上传到服务器时,在 VB.NET WEB APPLICATION 中打开与 MS Access DB 的连接时出错

如何解决使用 ADO ODBC 上传到服务器时,在 VB.NET WEB APPLICATION 中打开与 MS Access DB 的连接时出错

我有一个新的应用程序上传到 Windows 服务器,该应用程序试图读取 MS Access DB,但出现错误

ERROR [IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定认驱动程序

跟踪显示我在尝试打开连接时遇到错误

这是我在 Visual Studio 2019 中的第一个 WEB 应用程序。我还有其他 VS WEBSITE 应用程序,它们也以相同的方式读取 DB。这些工作只需引用 ADODB.DLL,然后将 ADODB.DLL 文件放在已发布网站的 BIN 文件夹中即可。

我通过在我的网站应用程序之一中打开/读取同一个数据库来验证数据库是否具有所有正确的权限和连接字符串。没问题。我的 WEBSITE 应用程序和我的 WEB 应用程序都使用附加到项目的完全相同的类模块读取数据库

所以唯一的区别似乎是一个是 WEB 应用程序(带有编译后的代码),另一个是网站(带有未编译的代码)。但同样,数据库是在附加到项目的相同类模块中打开的。

我注意到 VS 中的 PUBLISH 功能似乎忽略了我的 bin 文件夹中的 ADODB.DLL 文件(即,即使它被引用也不将其发布到服务器)。但是即使我手动将 DLL 上传到服务器的 BIN 文件夹中,也会出现错误

我的服务器支持说我需要添加一个 System.DSN 来访问数据库。我试过了(可能做错了),但没有用。考虑到我在网站应用中以相同的方式读取数据库,这似乎是错误的。

因此,当在 Web 应用程序中访问 ADODB.DLL 时,“感觉就像”已发布的 Web 应用程序 DLL 找不到 ADODB.DLL。我应该把它放在不同的位置还是以不同的方式发布?

帮助?

解决方法

好吧,所以该网站在本地运行。

您必须处理两个问题。首先,该网站很有可能以 x64 位运行。因此,该网站需要安装 x64 位版本的 Access 数据库引擎 (ACE)。

换句话说,目标网站需要安装对 Access 的支持,而且现在大多数网站默认以 x64 位运行

而且我相信您需要的不仅仅是安装 ADO .dll。如果您使用 mdb 文件,则安装 JET x32 的可能性相当高。但是如果 Web 服务器是 x64 位,那么您需要在该服务器上安装 x64 位 ACE。这个:

https://www.microsoft.com/en-us/download/details.aspx?id=54920

确保从上面选择正确的 x64 位,或者您可以强制网站以 x32 位运行 - 但这通常是一个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。