情况:
我已经配置了我的web.config和web.release.config文件,如下所示。
我已经配置了Packet and Publish SQL,但它测试错误(我使用Access而不是SQL,所有Web表单都成功连接到Access。)
当我在Internet上发布到Web部署时,错误消息发生在下面。 (主机提供商,使用自己的PC访问我的网页的游客)
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
答案 0 :(得分:0)
我无法发表评论,但我认为该来源&#39;路径在目标服务器上无效。也许尝试将数据库放入App_Data并将源代码更改为Source=|DataDirectory|\Web.accdb
。
通过这种方式,您不需要连接字符串的转换。 我还注意到你没有在发布配置中使用转换更改任何内容,它也缺少providerName属性。
您可以执行本地文件系统发布,也可以预览转换以确认转换是否正常工作。