Как вы извлекаете данные из SQL Server в Oracle? - PullRequest
1 голос
/ 25 января 2011

Я хочу взять данные из таблицы SQL Server и заполнить таблицу Oracle. Прямо сейчас мое решение состоит в том, чтобы выгрузить данные в таблицу Excel, написать макрос для создания файла SQL, который я могу загрузить в Oracle. Проблема в том, что я хочу автоматизировать этот процесс, и я не уверен, что смогу автоматизировать это.

Существует ли простой способ автоматизации заполнения таблицы Oracle данными из таблицы SQL Server?

Заранее спасибо

Ответы [ 4 ]

2 голосов
/ 25 января 2011

Я полагаю, это зависит от вашего определения "легкий".

Наиболее надежный подход заключается в использовании гетерогенного подключения в Oracle для создания ссылки базы данных на базу данных SQL Server и последующего извлечения данных из SQL Server или для создания связанного сервера в SQL Server, который подключается к Oracle, а затем передает данные из SQL Server в Oracle.

2 голосов
/ 25 января 2011

Да. Взгляните на SSIS MS SQL, что означает Службы интеграции SQL Server . SSIS предоставляет все виды расширенных возможностей, в том числе автоматизированные с помощью заданий сервера Sql, для перемещения данных между разнородными источниками данных. В вашем случае подключение к Oracle может быть достигнуто различными способами.

0 голосов
/ 25 января 2011

Есть много и много способов сделать это.Что вы выберете, зависит от ваших требований.

  • Использование Excel - это хорошо, если это одноразовая вещь.
  • Если это время от времени, то вы можете написать простое приложение .NET, которое использует один DataSet и несколько DataAdapter для создания дампа данных. Пример кода на C # здесь .
  • Если это обычная вещь, то вы можете поместить вышеприведенное в задачу Schtasks или использовать SSIS.Я думаю, что SSIS - это вариант с дополнительными затратами.
  • Если требуется «онлайн-доступ», то, вероятно, уместна связанная база данных.
0 голосов
/ 25 января 2011

Есть три способа автоматизировать это:

1) Вы можете сделать, как предложил Пол, и создать пакет служб SSIS, который сделает это, и его можно запланировать с помощью агента SQL,

2) Если вы не хотите иметь дело с SSIS, вы можете загрузить бесплатную библиотеку CLR SQL # (SQLsharp) из http://www.SQLsharp.com/ и использовать хранимую процедуру DB_BulkCopy, чтобы сделать это в хранимой T-SQL Proc, который также может быть запланирован через агент SQL. [примечание: я автор SQL #]

3) Вы также можете настроить связанный сервер с SQL Server на Oracle, но у этого есть недостаток, заключающийся в потенциальной дыре в безопасности. Конечно, вы можете использовать Oracle Login, который имеет доступ только для записи к этой единственной таблице (или к чему-то подобному).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...