2011-06-11 160 views
1

private string conString = "Data Source=173.56.33.6;Database=musicapp;User ID=guest;Password=guest"; 我當時正在使用本地數據庫,當時我的應用程序已經成功地與mysql數據庫進行交互了。當把數據庫放在服務器上時,我的應用程序仍舊採用舊的連接字符串,數據存儲在本地數據庫,而不是服務器上。 有什麼問題?asp.net中連接字符串的問題

+0

它是否仍然使用web.config或app.config中的連接字符串?如果沒有,請確保在構建之前清理代碼,否則在使用conString進行連接時會很奇怪。 – Mark 2011-06-11 09:02:32

+0

我不能在我的visual studio 2008中看到乾淨的選項。我該怎麼辦? – 2011-06-11 09:06:00

回答

3

我會一起刪除硬編碼的連接字符串。還有就是你的配置文件用於這個目的的專用部分:

<connectionStrings> 
    <add name="MusicApp" connectionString="Data Source=173.56.33.6;Database=musicapp;User ID=guest;Password=guest;" /> 
</connectionStrings> 

然後你就可以讀出:

string connection = ConfigurationManager.ConnectionStrings["MusicApp"].ConnectionString; 
0

我認爲你的問題是,你必須在連接字符串中的硬編碼你的代碼(作爲你在上面顯示的私有字符串)。更好的方法是將其存儲在配置文件中,使用VS中的設置並選擇ConnectionString作爲類型。

+0

做到了這一點,即使我不傳遞連接字符串,它存儲數據,不要給我錯誤。什麼是錯的? – 2011-06-11 09:31:42

+0

可能有一些默認使用。當您打開命令時添加一些日誌記錄,以便您可以看到該字符串是什麼,然後確定它的讀取內容。 – Haukman 2011-06-11 17:46:24

0

確保當您將數據庫傳輸到服務器時是否更新了連接字符串。在任何情況下,最好將連接字符串存儲在web.config中,以便在數據庫更改或傳輸到其他位置時修改它。 web.config中連接字符串的這種更改不會要求您重新構建應用程序。儘管如果您的連接字符串是用代碼進行硬編碼的,那麼當您更改連接字符串時,您將需要重新構建應用程序。

0

如果數據源= 173.56.33.6;是你的服務器數據庫的位置嘗試這個,而不是Data Source = \ 173.56.33.6;