2016-11-17 41 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