Копирование реляционных данных из базы данных в базу данных - PullRequest
5 голосов
/ 12 сентября 2008

Редактировать : Позвольте мне полностью перефразировать это, потому что я не уверен, что есть способ XML, как я первоначально описывал.

Еще одно редактирование : Это должен быть повторяемый процесс, и его необходимо настроить так, чтобы его можно было вызывать в коде C #.

В базе данных A у меня есть набор таблиц, связанных между собой PK и FK. Допустим, родительский стол с дочерними и внуковыми столами.

Я хочу скопировать набор строк из базы данных A в базу данных B , которая имеет таблицы и поля с одинаковыми именами. Для каждой таблицы я хочу вставить одну и ту же таблицу в базу данных B. Но я не могу быть вынужден использовать одни и те же первичные ключи. Процедура копирования должна создавать новые PK для каждой строки в базе данных B и распространять их на дочерние строки. Другими словами, я придерживаюсь тех же отношений между данными, но не такими же точными ПК и ФК.

Как бы вы решили это? Я открыт для предложений. Служба SSIS не исключена полностью, но мне не кажется, что она сделает именно это. Я также открыт для решения в LINQ, или для использования типизированных DataSets, или для использования какой-то вещи XML, или для всего, что будет работать в SQL Server 2005 и / или C # (.NET 3.5). Лучшее решение не требует SSIS и не требует написания большого количества кода. Но я признаю, что это «лучшее» решение может не существовать.

(Я не решал эту задачу сам, ни ограничения; это то, как она была дана мне.)

Ответы [ 11 ]

0 голосов
/ 12 сентября 2008

Сбросьте подход XML и используйте мастер импорта / службы SSIS.

...