Эффективный способ перемещения данных из Oracle (SQL Developer) в MS SQL Server - PullRequest
0 голосов
/ 11 февраля 2019

Ежедневно я запрашиваю несколько таблиц в SQL Developer, фильтрую действия за предыдущий день, добавляю столбец к отметке даты и затем экспортирую в xlsx.Затем я вручную импортирую каждый файл на MS SQL Server с помощью мастера импорта и экспорта SQL Server.Требуется много кликов, много ожидания ...

По сути, я создаю архив в SQL Server, приложение, которое я запрашиваю, перезаписывает данные ежедневно.Я не являюсь администратором базы данных ни в одной из баз данных, я использую заархивированные данные для проверки и исследования.

Трудно заставить мою организацию предоставить дополнительное программное обеспечение, я пытался заставить эту работу работать через SQL Developer, SSMS Express ed и другие стандартные инструменты.

Я хочу сделать это достаточно автоматизированным, либо с помощью сценариев, запланированных задач и т. Д. Оцените предложения, которые будут работать в моей текущей ситуации, но если это не такЭто разумно, и есть очень разумная альтернатива, я могу вернуться в организацию и запросить программное обеспечение / доступ / помощь.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Другой вариант, который вы можете рассмотреть (если он поддерживается в SQL Express), - использовать утилиту BCP, которую можно запустить из командной строки.

Утилита BCP позволяет массово копировать данные изтекстовый файл с разделителями в таблицу SQL Server.

При использовании этого подхода необходимо учитывать следующее:

  • Количество столбцов в исходном файле должно соответствовать количеству столбцов вdestination
  • Типы данных должны совпадать (или быть сопоставимыми)
  • Как правило, пустые строки преобразуются в пустые значения, поэтому вам необходимо учитывать, могут ли столбцы обнуляться.

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

Во всяком случае, может быть, это будет работать для вас, а может и нет.Конечно, вам, возможно, все еще придется иметь дело с экспортом данных из Oracle, но это может облегчить боль при вводе данных.

Прочитайте:

https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-2017

0 голосов
/ 11 февраля 2019

Вы можете использовать SSIS для импорта данных напрямую из Oracle в SQL Server, если вам не нужны файлы .xlsx для других целей.Вы также можете экспортировать из Oracle в них, а затем загрузить в SQL Server из этих файлов, если вам нужны файлы.Для столбца с отметкой даты можно добавить производный столбец в Задаче потока данных, используя функцию SSIS GETDATE() для отметки времени, чтобы достичь того же результата.Эта функция возвращает отметку времени, и, если необходима только дата, функция (DT_DBDATE) может привести ее к типу данных даты, который совместим с этим типом данных SQL Server.После настройки пакета служб SSIS вы можете запланировать регулярный запуск в качестве задания агента SQL.Я также рекомендовал бы установить каталог служб SSIS (SSISDB) и использовать этот источник для запуска пакетов.Следующие ссылки проливают больше света на эти области.

...