當我將C#.net中的Windows窗體應用程序從一臺計算機傳輸到另一臺計算機時,每當數據庫文件的位置發生更改時,我都必須更改連接字符串。如何在C#.net中創建Windows窗體應用程序的連接字符串,與計算機無關?
我該如何防止這一點,以便我不必一次又一次更改連接字符串?
當我將C#.net中的Windows窗體應用程序從一臺計算機傳輸到另一臺計算機時,每當數據庫文件的位置發生更改時,我都必須更改連接字符串。如何在C#.net中創建Windows窗體應用程序的連接字符串,與計算機無關?
我該如何防止這一點,以便我不必一次又一次更改連接字符串?
如果您需要連接總是在本地機器上運行的服務,您可以使用localhost
作爲服務器名稱...
順便說localhost
被映射到主機的ip 127.0.0.1文件。
在應用程序中的exe的同一位置的數據庫文件,然後你可以使用
Application.StartupPath()
得到的路徑。
*我假設這是一個Windows窗體應用程序。
如果沒有您正在使用的連接字符串的類型(或您正在訪問哪個數據庫)的示例,但是不能使用相對路徑並假定數據庫相對於您的應用程序處於某個位置?
如果你設置你的連接刺痛了像這樣...
<connectionStrings>
<add name="ConsoleApplication1.Properties.Settings.Database1ConnectionString"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
...然後| DataDirectory目錄|將默認解析爲應用程序的文件夾。但是,您可以通過調用AppDomain.SetData方法更改DataDirectory。請參閱如何改變它的下面...
我展示你是如何設置的配置連接字符串,但如果你在代碼中設置它同樣也是如此。如果您正在構建在代碼中的連接字符串,然後我可以建議你看看使用連接字符串生成器...
http://msdn.microsoft.com/en-us/library/ms254947.aspx
我,當然,假設你的連接字符串中的文件路徑,但如果它是一個數據庫然後不會localhost也工作?
數據庫的位置如何更改?所有計算機/用戶都可以訪問嗎?
如果沒有,您可以將連接信息存儲在設置中,並創建一個表單,允許您根據需要更新這些信息。表單可以作爲安裝程序的一部分或在應用程序的首次運行時啓動。
有關您正在做什麼的更多信息將有助於提出真正的解決方案。
將數據庫文件放在一個一致的位置? – Lazarus 2010-11-24 12:46:48
你能告訴我們**這樣的連接字符串作爲樣本嗎?我們在這裏談論什麼數據庫? – 2010-11-24 12:48:17
你現在在哪裏存儲連接字符串?當然,你不是說你必須重新編譯應用程序才能將它放到另一臺機器上? – 2010-11-24 12:48:34