在运行时将ADO.Net数据集指向不同的数据库?

在运行时将ADO.Net数据集指向不同的数据库?,.net,oracle,ado.net,connection-string,dataset,.net,Oracle,Ado.net,Connection String,Dataset,我有一个大型ADO.Net数据集和两个具有不同约束的数据库模式(Oracle)。数据集将使用任一模式,但我希望能够告诉数据集在运行时使用哪个模式(通过连接字符串) 这可能吗?在.Net 2.0世界中,您可以在运行时更改表适配器上的连接字符串。您只需确保CONNECTION属性是公共的,可以从数据集设计器进行设置。数据集不知道它们指向的是什么数据库——它们只是数据的容器。如果数据集填充了一个数据适配器,那么正如@Austin Salonen所指出的,您可以在适配器端更改它 这是一段关于如何在运行时

我有一个大型ADO.Net数据集和两个具有不同约束的数据库模式(Oracle)。数据集将使用任一模式,但我希望能够告诉数据集在运行时使用哪个模式(通过连接字符串)


这可能吗?

在.Net 2.0世界中,您可以在运行时更改表适配器上的连接字符串。您只需确保CONNECTION属性是公共的,可以从数据集设计器进行设置。

数据集不知道它们指向的是什么数据库——它们只是数据的容器。如果数据集填充了一个数据适配器,那么正如@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);