使用Access数据库

时间:2015-04-22 13:46:32

标签: c# asp.net ms-access-2010 web-publishing

情况:

  1. 我已经配置了我的web.config和web.release.config文件,如下所示。

  2. 我已经配置了Packet and Publish SQL,但它测试错误(我使用Access而不是SQL,所有Web表单都成功连接到Access。)

  3. 当我在Internet上发布到Web部署时,错误消息发生在下面。 (主机提供商,使用自己的PC访问我的网页的游客)

  4. Web.config

    <configuration>
    <connectionStrings>
    <add name="DBCS"
     connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\sim\Desktop\Web.accdb"
     providerName="System.Data.SqlClient" />
    </connectionStrings>)
    

    web.release.config

     <connectionStrings>
       <add name="DBCS"
        connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data      Source=C:\Users\sim\Desktop\Web.accdb" xdt:Transform="SetAttributes"            xdt:Locator="Match(name)"/>
    </connectionStrings>
    

    错误讯息:

      

    错误1 Web部署任务失败。(对象类型&#39; dbFullSql&#39;和   path&#39; Provider = Microsoft.ACE.OLEDB.12.0;数据   源= C:\ Users \用户SIM \桌面\ Web.accdb&#39;无法创建。)对象   type&#39; dbFullSql&#39;和路径&#39; Provider = Microsoft.ACE.OLEDB.12.0;数据   源= C:\ Users \用户SIM \桌面\ Web.accdb&#39;无法创建。价值   &#39;提供商= Microsoft.ACE.OLEDB.12.0;数据   源= C:\ Users \用户SIM \桌面\ Web.accdb&#39;不是有效的连接   字符串或绝对路径。不支持关键字:&#39;提供商&#39;。 0 0 FYP

1 个答案:

答案 0 :(得分:0)

我无法发表评论,但我认为该来源&#39;路径在目标服务器上无效。也许尝试将数据库放入App_Data并将源代码更改为Source=|DataDirectory|\Web.accdb

通过这种方式,您不需要连接字符串的转换。 我还注意到你没有在发布配置中使用转换更改任何内容,它也缺少providerName属性。

您可以执行本地文件系统发布,也可以预览转换以确认转换是否正常工作。