Point ADO.Net DataSet to different databases at ru

2019-02-25 21:55发布

I have a large ADO.Net dataset and two database schemas (Oracle) with different constraints. The dataset will work with either schema, but I want to be able to tell the dataset which schema to use (via connection string) at runtime.

Is that even possible?

3条回答
孤傲高冷的网名
2楼-- · 2019-02-25 22:33

Datasets don't know what database they're pointing to -- they're just containers for data. If the dataset is filled with a data adapter, then as @Austin Salonen pointed out, you change that on the adapter side.

查看更多
欢心
3楼-- · 2019-02-25 22:34

In the .Net 2.0 world, you can change your connection string on your table adapters at run-time. You just have to be sure the Connnection property is public, which can be set from the dataset designer.

查看更多
Summer. ? 凉城
4楼-- · 2019-02-25 22:43

This is a code snippet on how you could updated the connection string at runtime. It does not matter what generated the dataset.

            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);
查看更多
登录 后发表回答