Указать ADO.Net DataSet для разных баз данных во время выполнения? - PullRequest
2 голосов
/ 23 сентября 2008

У меня большой набор данных ADO.Net и две схемы базы данных (Oracle) с различными ограничениями. Набор данных будет работать с любой схемой, но я хочу иметь возможность указать набору данных, какую схему использовать (через строку подключения) во время выполнения.

Это вообще возможно?

Ответы [ 3 ]

2 голосов
/ 23 сентября 2008

В мире .Net 2.0 вы можете изменить строку подключения на ваших настольных адаптерах во время выполнения. Вам просто нужно убедиться, что свойство Connnection является открытым, что можно установить в конструкторе набора данных.

1 голос
/ 23 сентября 2008

Это фрагмент кода о том, как вы можете обновить строку подключения во время выполнения. Неважно, что сгенерировало набор данных.

            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);
1 голос
/ 23 сентября 2008

Наборы данных не знают, на какую базу данных они указывают - они просто контейнеры для данных. Если набор данных заполнен адаптером данных, то, как указал @Austin Salonen, вы меняете его на стороне адаптера.

...