我一直在开发一个使用数据库的ASP网站。当我测试它时它会脱机工作,但是一旦我将它上传到我的fasthosts帐户,我在尝试运行它时会出现以下错误:
异常详细信息:System.InvalidOperationException:' Microsoft.ACE.OLEDB.12.0'提供程序未在本地计算机上注册。
连接字符串如下:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:ThreadString %>" ProviderName="<%$
ConnectionStrings:ThreadString.ProviderName %>" SelectCommand="SELECT * FROM [Thread]
WHERE ([rank] <= ?) ORDER BY [rank]">
web.config文件:
<add name="ThreadString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=|DataDirectory|\Database.accdb" providerName="System.Data.OleDb" />
为什么会发生这种情况的任何想法?提前致谢
答案 0 :(得分:3)
连接到ACCDB文件(Access 2007格式)需要ACE.OLEDB.12.0驱动程序。 该驱动程序需要安装在ISP机器上 (这可能就是他们问你一个不同的计划的原因)
但是,您可以将文件的格式更改为使用Microsoft.Jet.OLEDB.4.0
的Access 2003,并且不需要在ISP计算机上安装此驱动程序。
这是Microsoft网站上的一个文档,解释了如何执行此操作 Save an Access 2010 database in an earlier file format
但还有另一个问题。此驱动程序仅为32位,因此您的ISP应允许32位驱动程序在您站点的托管过程中运行(如果它们使用64位操作系统)。如何完成这取决于您的ISP工具和界面以及它们让您个性化其服务的程度。
通常在本地IIS服务器上执行以下步骤
答案 1 :(得分:0)
尝试以下步骤
构建并运行。