Godaddy 是否支持与 App_Data mdf 数据库的数据库连接?
Does Godaddy support database connections to App_Data mdf databases?
很简单,位于我在 Godaddy 上托管的 asp.net 网站的 App_Data 目录中的 mdf 文件数据库的正确连接字符串是什么?当然,这在我的开发人员环境中可以离线使用,但在上传到 Godaddy 时会出现问题。 Godaddy 是否支持连接到包含在 App_Data 目录中的数据库?我怀疑我的问题是数据源部分和选择 SQL 服务器实例,但我不确定。
我先清除 "LocalSqlServer" 连接,然后再添加实际的连接字符串信息。
<connectionStrings>
<remove name="LocalSqlServer"/>
<clear/>
这是我尝试过的各种错误:
1.
<add name="LocalSqlServer" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename="|DataDirectory|\DatabaseFileName.mdf";Initial Catalog="DatabaseFileName";Integrated Security=True" providerName="System.Data.SqlClient" />
错误:建立与 SQL 服务器的连接时发生了与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确并且 SQL 服务器配置为允许远程连接。 (提供商:SQL 网络接口,错误:26 - 定位 Server/Instance 指定错误)
2.
<add name="LocalSqlServer" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename="|DataDirectory|\DatabaseFileName.mdf";Initial Catalog="DatabaseFileName";Integrated Security=True" providerName="System.Data.SqlClient" />
错误:[SqlException (0x80131904):建立与 SQL 服务器的连接时发生了与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确并且 SQL 服务器配置为允许远程连接。 (提供商: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 相同。
非常感谢您对此的帮助!
对这个问题没有太多回应,但根据我与 GoDaddy 的通话,我会说答案是否定的 - 他们不支持存储在本地 App_Data 文件夹中的数据库。通过试验这个问题,我发现要完成我想做的事情,您需要在 web.config 文件的连接字符串中指定两件事。
- DataSource:sql 服务器数据库引擎。在开发中,这通常设置为 sqlexpress 或 localdb。
- AttachDbFilename:这是对 App_Data 中 mdf 数据库文件的引用。
我能够将我的 DataSource 设置为 Godaddy 上 SQL Server 的一个实例,但是,当使用 AttachDbFilename 属性时,我会收到一个服务器错误,说我的 AttachDbFilename 值有问题。
GoDaddy 支持(至少与我交谈过的代理商)提供了相互矛盾的信息。第一个代理人显然对他们在谈论什么没有信心,但说 "it's possible" 但声称由于他们的支持声明,他无法帮助我弄清楚。第二个代理知识渊博,实际上是在与(我想)一个实际的数据库技术进行消息传递,该技术基本上表示它不会工作。
最后,我应该意识到这是不可能的,因为他们的商业模式是在您使用共享主机计划中包含的两个数据库后向您出售额外的数据库。如果他们直接在托管管理器的数据库管理页面上说不允许附加数据库,那就太好了……这样可以节省我的时间和麻烦。
如果有人成功附加到他们的 App_Data mdf - post 您的连接字符串,否则我会尽快将其标记为答案。
很简单,位于我在 Godaddy 上托管的 asp.net 网站的 App_Data 目录中的 mdf 文件数据库的正确连接字符串是什么?当然,这在我的开发人员环境中可以离线使用,但在上传到 Godaddy 时会出现问题。 Godaddy 是否支持连接到包含在 App_Data 目录中的数据库?我怀疑我的问题是数据源部分和选择 SQL 服务器实例,但我不确定。
我先清除 "LocalSqlServer" 连接,然后再添加实际的连接字符串信息。
<connectionStrings>
<remove name="LocalSqlServer"/>
<clear/>
这是我尝试过的各种错误:
1.
<add name="LocalSqlServer" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename="|DataDirectory|\DatabaseFileName.mdf";Initial Catalog="DatabaseFileName";Integrated Security=True" providerName="System.Data.SqlClient" />
错误:建立与 SQL 服务器的连接时发生了与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确并且 SQL 服务器配置为允许远程连接。 (提供商:SQL 网络接口,错误:26 - 定位 Server/Instance 指定错误)
2.
<add name="LocalSqlServer" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename="|DataDirectory|\DatabaseFileName.mdf";Initial Catalog="DatabaseFileName";Integrated Security=True" providerName="System.Data.SqlClient" />
错误:[SqlException (0x80131904):建立与 SQL 服务器的连接时发生了与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确并且 SQL 服务器配置为允许远程连接。 (提供商: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 相同。
非常感谢您对此的帮助!
对这个问题没有太多回应,但根据我与 GoDaddy 的通话,我会说答案是否定的 - 他们不支持存储在本地 App_Data 文件夹中的数据库。通过试验这个问题,我发现要完成我想做的事情,您需要在 web.config 文件的连接字符串中指定两件事。
- DataSource:sql 服务器数据库引擎。在开发中,这通常设置为 sqlexpress 或 localdb。
- AttachDbFilename:这是对 App_Data 中 mdf 数据库文件的引用。
我能够将我的 DataSource 设置为 Godaddy 上 SQL Server 的一个实例,但是,当使用 AttachDbFilename 属性时,我会收到一个服务器错误,说我的 AttachDbFilename 值有问题。
GoDaddy 支持(至少与我交谈过的代理商)提供了相互矛盾的信息。第一个代理人显然对他们在谈论什么没有信心,但说 "it's possible" 但声称由于他们的支持声明,他无法帮助我弄清楚。第二个代理知识渊博,实际上是在与(我想)一个实际的数据库技术进行消息传递,该技术基本上表示它不会工作。
最后,我应该意识到这是不可能的,因为他们的商业模式是在您使用共享主机计划中包含的两个数据库后向您出售额外的数据库。如果他们直接在托管管理器的数据库管理页面上说不允许附加数据库,那就太好了……这样可以节省我的时间和麻烦。
如果有人成功附加到他们的 App_Data mdf - post 您的连接字符串,否则我会尽快将其标记为答案。