-1

很简单,我在 Godaddy 上托管的 asp.net 网站的 App_Data 目录中的 mdf 文件数据库的正确连接字符串是什么?当然,这在我的开发人员环境中可以离线工作,但在上传到 Godaddy 时会出现问题。Godaddy 是否支持连接到 App_Data 目录中包含的数据库?我怀疑我的问题是数据源部分并选择了一个 SQL Server 实例,但我不确定。

在首先添加实际的连接字符串信息之前,我清除了“LocalSqlServer”连接。

<connectionStrings>
    <remove name="LocalSqlServer"/>
    <clear/>

这是我尝试过的各种错误:

1.

<add name="LocalSqlServer" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=&quot;|DataDirectory|\DatabaseFileName.mdf&quot;;Initial Catalog=&quot;DatabaseFileName&quot;;Integrated Security=True" providerName="System.Data.SqlClient" />

错误:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

2.

<add name="LocalSqlServer" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=&quot;|DataDirectory|\DatabaseFileName.mdf&quot;;Initial Catalog=&quot;DatabaseFileName&quot;;Integrated Security=True" providerName="System.Data.SqlClient" />

错误:[SqlException (0x80131904):建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:52 - 无法找到本地数据库运行时安装。验证 SQL Server Express 已正确安装并且本地数据库运行时功能已启用。)]

3.

<add name="LocalSqlServer" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=DatabaseFileName;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\DatabaseFileName.mdf" />

错误。与上面的第 2 条相同。

非常感谢您在这方面的帮助!

4

1 回答 1

1

对这个问题没有太多回应,但从我与 GoDaddy 的电话中,我会说答案是否定的 - 他们不支持存储在本地 App_Data 文件夹中的数据库。通过试验这个问题,我发现要做我想做的事情,你需要在你的 web.config 文件的连接字符串中指定两件事。

  1. DataSource:sql server 数据库引擎。在开发中,这通常设置为 sqlexpress 或 localdb。
  2. AttachDbFilename:这是对 App_Data 中 mdf 数据库文件的引用。

我能够将我的 DataSource 设置为 Godaddy 上的 SQL Server 实例,但是,当使用 AttachDbFilename 属性时,我会收到一个服务器错误,提示我的 AttachDbFilename 值存在问题。

GoDaddy 支持(至少与我交谈过的代理)提供了相互矛盾的信息。第一位特工显然对他们在谈论的内容没有信心,但说“有可能”,但声称由于他们的支持声明,他无法帮助我弄清楚。第二个代理知识渊博,实际上正在与(我认为)一个实际的数据库技术进行消息传递,该技术基本上表示它不会工作。

最后,我应该意识到这是不可能的,因为一旦您使用了共享托管计划中包含的两个数据库,他们的商业模式就是向您出售额外的数据库。如果他们直接在托管管理器的数据库管理页面上说不允许附加数据库,那就太好了……这会节省我的时间和麻烦。

如果有人已成功附加到他们的 App_Data mdf - 发布您的连接字符串,否则我会尽快将其标记为答案。

于 2016-08-01T22:48:26.053 回答