У меня есть требование к проекту по перемещению данных с SQL Server на Oracle в массовом режиме. Существует OracleBulkCopy от DataDirect и ODP .net, но для его использования мне нужно сначала преобразовать считыватель данных с SQL-сервера в файл CSV, а затем экспортировать его с помощью массового копирования. Это очень неэффективный процесс, и мне было интересно, есть ли Другой способ: мы не можем использовать связанные серверы.
Массовое копирование из SQL Server в Oracle
Ответы (5)
ЕСЛИ вы используете SSIS, вы должны иметь возможность напрямую загружать данные в базу данных ORacle, не выполняя этап создания текстового файла для загрузки. Это предполагает, что база данных Oracle доступна в вашей сети.
Вы можете экспортировать данные своего sql-сервера в плоский файл или файл, разделенный запятыми. Вы можете использовать этот плоский файл как внешнюю таблицу в Oracle.
Другое решение - создать ссылку на базу данных от Oracle к серверу sql и выполнить «select .. from ssss @ db_link».
Какой у вас объем данных?
Если он не слишком большой, попробуйте использовать Access в качестве моста между двумя базами данных.
При доступе сопоставьте исходную таблицу SQLSERVER и целевую таблицу ORACLE.
Чтение из источника и запись в место назначения с помощью Access.
Вы можете настроить HS и установить соединение от вашей базы данных ORA к серверу sql. Создайте таблицу или MV, которые дадут вам то, что вам нужно.
Использование SqlBulkCopy и некоторого кода на C # работает очень хорошо.
http://www.sqlteam.com/article/use-sqlbulkcopy-to-quickly-load-data-from-your-client-to-sql-server