Направить ADO.Net DataSet на разные базы данных во время выполнения?

StackOverflow https://stackoverflow.com/questions/121350

Вопрос

У меня есть большой набор данных 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top