Массовое копирование из SQL Server в Oracle

У меня есть требование к проекту по перемещению данных с SQL Server на Oracle в массовом режиме. Существует OracleBulkCopy от DataDirect и ODP .net, но для его использования мне нужно сначала преобразовать считыватель данных с SQL-сервера в файл CSV, а затем экспортировать его с помощью массового копирования. Это очень неэффективный процесс, и мне было интересно, есть ли Другой способ: мы не можем использовать связанные серверы.


person Manav    schedule 21.10.2009    source источник
comment
Я не могу вспомнить, что такое Oracle, эквивалентный связанным серверам. Тогда я бы использовал SELECT INTO ...   -  person OMG Ponies    schedule 21.10.2009


Ответы (5)


ЕСЛИ вы используете SSIS, вы должны иметь возможность напрямую загружать данные в базу данных ORacle, не выполняя этап создания текстового файла для загрузки. Это предполагает, что база данных Oracle доступна в вашей сети.

person HLGEM    schedule 16.11.2009

Вы можете экспортировать данные своего sql-сервера в плоский файл или файл, разделенный запятыми. Вы можете использовать этот плоский файл как внешнюю таблицу в Oracle.

Другое решение - создать ссылку на базу данных от Oracle к серверу sql и выполнить «select .. from ssss @ db_link».

person tuinstoel    schedule 21.10.2009

Какой у вас объем данных?

Если он не слишком большой, попробуйте использовать Access в качестве моста между двумя базами данных.

При доступе сопоставьте исходную таблицу SQLSERVER и целевую таблицу ORACLE.

Чтение из источника и запись в место назначения с помощью Access.

person blispr    schedule 16.11.2009

Вы можете настроить HS и установить соединение от вашей базы данных ORA к серверу sql. Создайте таблицу или MV, которые дадут вам то, что вам нужно.

person iggy    schedule 02.03.2010

Использование SqlBulkCopy и некоторого кода на C # работает очень хорошо.

http://www.sqlteam.com/article/use-sqlbulkcopy-to-quickly-load-data-from-your-client-to-sql-server

person Tony S.    schedule 22.06.2011