2013-02-11 66 views
0

我有許多具有相同結構的數據庫,並且我設計了一個與數據庫設計相匹配的數據集。使用在設計時詢問並在app.config中定義的connectionStrings很容易連接到數據庫。但是當試圖在運行時更改數據庫時會出現問題。我無法找到任何非反射解決方案來處理它。有沒有其他方法可以在運行時動態更改數據集的連接字符串,或者至少使用不同的連接字符串創建數據集!使用.net數據集連接到不同的數據庫

回答

0

您正在使用TableAdapter填充DataSet,你可以很容易地修改TableAdapter連接字符串是這樣的:

myTableAdapter.Connection.ConnectionString = connectionString; 

希望這有助於:)

0

gzaxx答案是行不通的,只是因爲用不同的不同的DBMS工作ADO.NET提供程序,它們可能相互兼容,也可能不相容。背後有很多理論,我不會在這個文本框中輸入所有內容,但是您需要了解這是主要問題的TableAdapters,而不是DataTable。您的業​​務和UI層通常只與DataTables交談,因爲在創建表列時正確使用了相應的數據類型,因此幾乎所有DBMS都具有相同的結構。因此,理論上,如果Typed DataSets可以爲每個DataTable附加多個適配器,您可以爲每個支持的DBMS添加一個適配器,同時保持DataTable結構相同。

我自己不得不在一個有點大的項目中處理這個問題,對我來說唯一可行的解​​決方案是將我的數據訪問分離爲一個單獨的項目(一個類庫),然後爲每個DBMS創建一個這樣的DLL支持。希望能幫助你開始這一點。