【问题标题】:Does Godaddy support database connections to App_Data mdf databases?Godaddy 是否支持与 App_Data mdf 数据库的数据库连接?
【发布时间】:2016-07-24 18:24:50
【问题描述】:

很简单,我在 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 条相同。

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

【问题讨论】:

  • 上述错误表明您的连接字符串不正确。您必须上传完整的 .bak 文件,您不能只在服务器上上传 .mdf 文件,因为它不起作用。请与他们再次核对以获取更多信息。
  • 我已经玩过这个并且已经让它显示这个错误:键'attachdbfilename'的值无效。这让我相信它正在连接到数据库服务器,但不允许我附加数据库。你特别熟悉 Godaddy 吗?我开始相信他们不允许您连接到 App_Data 中的数据库。您能否提供一个链接来描述您提到的 .bak 文件的整个过程?谢谢!
  • .bak 包含 2 个文件,.mdf 和 .ldf 文件。您可能需要咨询您的开发人员。我不使用 Godaddy 作为我的主机,所以我不知道他们的过程。但是,在生产服务器中,您需要上传 .bak 文件进行恢复。它不适用于 .mdf 文件
  • 我是开发者。我将 mdf 和 ldf 文件都上传到 App_Data 文件夹,并尝试了各种组合以使其正常工作。我得到的最接近的是 attachdbfilename 值错误,但我的连接遵循我在网上看到的所有内容。 AttachDbFilename=|数据目录|\.mdf。 GoDaddy 支持在这个问题上也毫无用处。
  • 您需要将其转换为 .bak。您无法将 .mdf 和 .ldf 文件还原到服务器。请看stackoverflow.com/questions/4615521/…

标签: connection-string app-data


【解决方案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 - 请发布您的连接字符串,否则我会尽快将其标记为答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多