【问题标题】:Publishing VS website project to Godaddy - SQL Server database connection issues将 VS 网站项目发布到 Godaddy - SQL Server 数据库连接问题
【发布时间】:2016-11-17 23:32:44
【问题描述】:

我有一个正在处理的网站项目,我正在努力弄清楚如何在发布到 GoDaddy 后让我的数据库正常工作,但它在本地工作。我以前没有建立过项目,所以这对我来说是新的。我发现我的第一个问题是我使用的是 LocalDB,而且那只是本地的(尽管有人声称你可以用其他方式操纵它,但没有一个对我有用)。

首先,我在本地使用 Adventure Works 2012 数据库,并在发布时将其与项目一起上传。也许这是我的第一个问题?

来自web.config

<add name="AdventureWorks2012_DataEntities" 
     connectionString="metadata=res://*/Models.Entities.csdl|res://*/Models.Entities.ssdl|res://*/Models.Entities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\AdventureWorks2012_Data.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework;User Instance=True&quot;" 
     providerName="System.Data.EntityClient" />

以及GoDaddy asp.net设置中的连接字符串:

AdventureWorks2012_DataEntities
metadata=res://*/Models.Entities.csdl|res://*/Models.Entities.ssdl|res://*/Models.Entities.msl;provider=System.Data.SqlClient;provider connection string="data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\AdventureWorks2012_Data.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework;User Instance=True"

我目前收到错误:

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

我不知道该连接字符串在发布时是否可以工作(因为需要具有用户名/密码的实际网络位置)?您可以在 GoDaddy 上配置一些数据库,也许我必须这样做 - 假设我可以通过这种方式将我的数据放入该数据库。我能看到的唯一方法是将表数据转储到 sql 脚本并从 MyLittleAdmin 工具运行它们。但我仍然不确定我将如何配置它来工作,即使我在那里得到了数据。另外,似乎 MyLittleAdmin 工具的功能非常有限。此外,我的本地文件中的数据库采用 SQL Server 2016 Express 版本格式,尽管我可以更改它 - 我不知道这是否是问题的一部分,与 GoDaddy 相关。

我真的很想自己解决这个问题,但我已经转了好几天了。我不知道我是否只是错过了一些东西,或者我是否将这一切都搞错了。或者,如果还有更多内容,并且我需要找到 GoDaddy 以外的其他托管服务提供商,因为我已经阅读了一些关于他们在 SQL Server 数据库这方面的糟糕表现的提及。

我非常感谢有人能在这方面提供帮助。

【问题讨论】:

    标签: asp.net sql-server database visual-studio publish


    【解决方案1】:

    问题很可能是您的连接字符串指向本地计算机(Web 服务器)以查找 SQL Express 实例。从较大的连接字符串中提取:

    数据源=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\AdventureWorks2012_Data.mdf;integrated security=True;...;User Instance=True"

    如果您有 GoDaddy 提供的 SQL 服务器,您需要在那里发布您的 SQL 数据库,然后在发布站点时将您的连接字符串转换为指向该服务器。

    【讨论】:

    • 嗯,就像我当时想的那样。我将不得不将我的域/站点转移到另一个托管服务提供商。 GoDaddy 真的很糟糕,你只能从他们自己的工具中创建数据库。然后添加数据的唯一方法是通过脚本查询。
    • @Zatos 您应该能够使用 VS 中的 SQL 工具将本地数据库内容转储到脚本文件中,然后从中填充 GoDaddy 数据库。
    • 我确实这样做了,但是他们的 MyLittleAdmin 工具和生成的脚本有问题。再加上它太大了。我刚刚将所有内容转移到 Winhost 并且已经设置好了所有内容。这是超级快速和容易。您可以通过 FTP 上传数据库的 BAK 并从他们的工具中恢复。我不会再使用 GoDaddy。真是一场噩梦,如果我一开始没有和他们一起去,我会节省所有的时间。但现在我知道了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 2020-06-19
    相关资源
    最近更新 更多