部署 ACCESS OleDb 驱动程序

Posted

技术标签:

【中文标题】部署 ACCESS OleDb 驱动程序【英文标题】:Deploy ACCESS OleDb driver 【发布时间】:2012-06-30 20:18:34 【问题描述】:

我尝试部署一个使用 MS ACCESS 2010 数据库的小型网站 (ASP.NET)。在服务器上部署网站时出现以下错误:

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

使用的连接字符串:Provider=Microsoft.ACE.OLEDB.12.0; Data Source=path-to-db

服务器上未安装 MS Office,Access 数据库引擎也未安装。该网站在共享托管环境中运行,因此我无法在该服务器上安装 Office,所以我可以通过 dll 以某种方式部署提供程序吗?

是否可以部署 ASP.Net 连接到数据库所需的驱动程序而无需在服务器上运行安装。由于这是在共享主机环境中,我无法安装任何东西。仅通过 ftp 上传文件。

【问题讨论】:

我认为您在serverfault.com 中提问的机会会更大。 *** 是一个与编程相关的网站,您的问题似乎不属于该类别。 谢谢你,@Remou。我会在那里发布我的问题。我不知道那个论坛。 【参考方案1】:

打开 IIS,导航到应用程序池,找到你网站的应用程序池,右键单击,高级设置,将“启用 32 位应用程序”设置为 true。

【讨论】:

【参考方案2】:

环顾四周,这与 Office 无关。如果只使用 Access 作为数据库,则不需要安装它。信息在这里:http://www.mytechsupport.ca/forums/index.php?topic=11237.0

我发现这个 *** 线程与您所做的错误相同,因此听起来可能是同一个问题。 Microsoft.ACE.OLEDB.12.0 provider is not registered

如果它正在运行的窗口,则查看该线程并查看 64 位问题是否是问题所在。我以前也遇到过同样的问题,而且显然很常见。您可能需要通过电子邮件向您的服务器上的任何人发送电子邮件。

它运行 Linux 吗?如果它正在运行 linux,那么问题可能只是完全缺少连接到 Access 数据库的驱动程序。如果是这种情况,我会通过电子邮件向您的支持发送电子邮件,并询问他们是否可以为您安装正确的驱动程序。此处信息:http://nixcraft.com/databases-servers/11878-connect-microsoft-access-database-php-linux-server.html

【讨论】:

重新连接您的第一个链接:如果您使用 MDB,则无需安装任何东西(尽管您需要以 32 位运行)。该线程来自 2006 年,在 Access 2007 引入 ACCDB 格式和相关的 ACE OLEDB 驱动程序之前。 这不是 64 位问题。这是在未安装驱动程序的情况下连接到 accdb(访问)数据库。如何在共享主机网站上部署驱动程序

以上是关于部署 ACCESS OleDb 驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

.Net Windows 应用程序使用 OLEDB 和 Access

数据驱动编码 UI 测试:如何为 Access 数据库 (oledb) 设置数据源?

Access 2013 的 OleDb 连接字符串是啥?

将企业库用于 OLEDB Access 数据库

使用 Decimal 参数的数据类型不匹配 - OleDb、C#、Access

C# Access OleDB 分别添加时间和日期