2012-12-01 116 views
1

我想在服務器上的數據庫(真正的數據庫)上運行一個本地副本,並保留在本地主機上進行測試。我試圖通過更改app.config中的連接字符串的定義(我也重新啓動VS,以確保沒有隱藏在內存中)在數據庫#1(服務器)和數據庫#2(本地主機)之間切換。發生了一件奇怪的事情:一方面,如果我通過數據源/預覽數據(在VS'10中)查詢數據庫,它確實會從數據庫#2中獲取數據。但是,當我運行該應用程序仍然從數據庫#1獲取信息,但據我所知,連接字符串只出現在app.config中,所以我甚至不知道它從何處獲取信息才能連接到DB#1。更改連接字符串不會更改數據庫?

雖然我們談論這個話題,但是在數據庫之間切換的更優雅的方式是什麼?理想情況下,從下拉菜單中選擇數據源。但是,我可以在運行時切換連接字符串嗎?

+0

您是否在更改'app.config'後重新編譯?在構建過程中,'app.config'的副本被重命名爲' .config',它就是運行時使用的那個配置。 –

回答

0

Visual Studio維護自己的數據庫連接信息,大概來自它自己的app.config文件。這完全獨立於您的解決方案app.config。

根據您的建議切換數據庫相對容易。將2個不同名稱的連接字符串放在你的app.config中。使用變量來保存所需的字符串,並在現在直接引用連接字符串的任何地方引用此變量。