2016-11-17 42 views
0

我有一个网站项目,我正在努力,我有一个时间试图弄清楚如何让我的数据库工作发布到GoDaddy后,但它在本地工作。我之前没有建立过一个项目,所以这对我来说是新的。我发现我的第一个问题是我在使用LocalDB,而且这只是本地的(尽管有人声称你可以使用它,否则没有人为我工作)。发布VS网站项目Godaddy - SQL Server数据库连接问题

首先,我在本地使用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" 

我目前得到的错误:

The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

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

我真的很想弄清楚这一点,但我一直在圈子里呆了几天。我不知道我是否错过了一些东西,或者如果我对这一切都做错了。或者如果还有更多,我需要找到GoDaddy以外的另一个托管服务提供商,因为我已经阅读了一些关于他们在SQL Server数据库中如何吸引这方面的提及。

我真的很感谢任何人都可以帮助照亮这个。

回答

1

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

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

如果您有通过GoDaddy的提供的SQL服务器,您需要在那里发布你的SQL数据库,然后让你的连接字符串转换在该服务器指向时,该网站公布:从大的连接字符串中提取。

+0

嗯,这就像我当时想的那样。我将不得不将我的域名/网站转移到另一个托管服务提供商。 GoDaddy真的很糟糕,你只能从他们自己的工具中创建数据库。然后通过脚本查询来添加数据的唯一方法。 – Zatos

+1

@Zatos您应该可以使用VS中的SQL工具将本地数据库内容转储到脚本文件中,然后从中填充GoDaddy数据库。 – Jimmy

+0

我确实这样做了,但是他们的MyLittleAdmin工具和生成的脚本有问题。再加上它太大了。我只是把所有东西都转移到了Winhost上,并且已经完成了一切。这是非常快速和容易。您可以FTP上传数据库的BAK并从其工具中恢复。我不会再使用GoDaddy。多么噩梦,如果我一开始没有和他们一起去,我总是会得救的。但现在我知道了。 – Zatos