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

Posted

技术标签:

【中文标题】在运行时将 ADO.Net DataSet 指向不同的数据库?【英文标题】:Point ADO.Net DataSet to different databases at runtime? 【发布时间】:2010-09-12 09:21:33 【问题描述】:

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

这可能吗?

【问题讨论】:

【参考方案1】:

这是一个关于如何在运行时更新连接字符串的代码 sn-p。生成数据集的内容无关紧要。

            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);

【讨论】:

【参考方案2】:

数据集不知道它们指向哪个数据库——它们只是数据的容器。如果数据集充满了数据适配器,那么正如@Austin Salonen 指出的那样,您可以在适配器端进行更改。

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于在运行时将 ADO.Net DataSet 指向不同的数据库?的主要内容,如果未能解决你的问题,请参考以下文章

Ado.net 三[SQL注入,DataAdapter,sqlParameter,DataSet]

ADO.NET的DataSet问题

ADO.NET_DataSet类,DataAdapter类,DataTable类

哪位高手简洁分析下ADO.NET中的常用对象:DataAdapter、Command、DataSet的使用情况。。非常感谢!!

ADO .NET 中常用的对象有那些?分别描述下?

ADO.NET之使用DataSet类更新数据库