我有一個大的ADO.Net數據集和兩個數據庫模式(Oracle)具有不同的約束。數據集可以使用任一模式,但我希望能夠在運行時告訴數據集使用哪個模式(通過連接字符串)。在運行時將ADO.Net DataSet指向不同的數據庫?
這可能嗎?
我有一個大的ADO.Net數據集和兩個數據庫模式(Oracle)具有不同的約束。數據集可以使用任一模式,但我希望能夠在運行時告訴數據集使用哪個模式(通過連接字符串)。在運行時將ADO.Net DataSet指向不同的數據庫?
這可能嗎?
在.Net 2.0世界中,您可以在運行時更改您的表適配器上的連接字符串。你只需要確定Connnection屬性是公開的,可以從數據集設計器中設置。
數據集不知道它們指向哪個數據庫 - 它們只是數據的容器。如果數據集中填充了數據適配器,那麼正如@Austin Salonen指出的那樣,您可以在適配器端進行更改。
這是關於如何在運行時更新連接字符串的代碼片段。生成數據集的內容並不重要。
DataSet ds = new DataSet();
// Do some updateing here
// Put your connection string here dyanmiclly
System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand("Your Runtime Connection String");
// Create the data Adapter
System.Data.OleDb.OleDbDataAdapter dataAdapter = new System.Data.OleDb.OleDbDataAdapter(command);
// Update the dataset
dataAdapter.Update(ds);