2015-03-02 3 views
0

Я использую SSIS для передачи таблиц между различными БД. Поскольку он не является специфическим для одного источника и цели, а SSIS не имеет динамического сопоставления столбцов, я реализовал сценарий на C#, используя OracleBulkCopy и SqlBulkCopy для записи в пункт назначения, которые, конечно же, используются в зависимости от типов БД. Исправьте меня, если я ошибаюсь, но я думаю, что это будет наиболее эффективное решение, используя конкретные драйверы, предоставляемые напрямую Oracle или Microsoft, верно? В любом случае, у меня проблема.Oracle BulkCopy Type Matching

Oracle Script Error Я пытаюсь скопировать представление в таблицу, как в Oracle. Я не уверен, что эта ошибка является тем, что я думаю, но я предполагаю, что типы столбцов не соответствуют должным образом. Все имена столбцов совпадают, поэтому мне не нужно делать какие-либо сопоставления, но могут быть некоторые различия в типах, например, я хочу скопировать VARCHAR на NUMBER среди других. OracleColumnMapping работает только для имен столбцов, а не из тех, что я нашел.

Итак, могу ли я предположить, что проблема с несоответствием типов является проблемой, и если да, есть ли способ установить BulkCopy для принудительного ввода типа в таблицу назначения? Было бы здорово, если бы он мог быть установлен как опция для автоматического ввода всех столбцов, а не путем сопоставления, но любое решение, пожалуйста, сообщите мне.

P.S .: Я думаю, что то же самое будет работать и для SqlBulkCopy, но мне также нужно решение для этого, если нет, хотя я еще не пробовал его на MSSQL.

Спасибо всем, кто помогает.

ответ

0

На мой взгляд, мне проще использовать пакеты SSIS (.dtsx) для переноса из базы данных Oracle в SQLServer DB. И литье можно легко сделать с помощью инструментария. Для таких операций C# не требуется.

+0

Я использую пакеты SSIS, однако мне не нужны статические столбцы, а динамические. Поэтому я просто вводим исходную и целевую информацию, и она копирует их. Единственный компонент, который делает это от CozyRoc, и у меня были проблемы с этим, поэтому я решил его со сценарием. Если у вас есть что-то еще для передачи данных без настройки статических столбцов в пакете, это было бы здорово. – stackoverflowthebest