Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

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.

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);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top