将VS网站项目发布到Godaddy - SQL Server数据库连接问题

时间:2016-11-17 23:32:45

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

我有一个我正在研究的网站项目,我有一段时间试图弄清楚如何让我的数据库在发布到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数据库相关的提及。

我真的很感激有人可以为此发光。

1 个答案:

答案 0 :(得分:1)

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

  

data source = 。\ SQLEXPRESS ; attachdbfilename = | DataDirectory | \ AdventureWorks2012_Data.mdf; integrated security = True; ...; User Instance = True“

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