Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с миграцией данных DB2 -> Oracle
|
|||
|---|---|---|---|
|
#18+
Hi, All Необходимо мигрировать данные с DB2 на Oracle. Расположение БД: DB2 на AS/400 Oracle на MS Win 2003 На MS Win были проделаны следующие действия: 1. Поставлен IBM iSeries Access for Windows ver5R3, с которым встал iSeries Access ODBC driver . 2. В iSeries Navigator установлено соединение с DB2 и написаны требуемые select'ы. 3. В ODBC Data Source Administrator создан System DSN , в настройках которого помечен чекбокс Convert binary data (CCSID 65535) to text . 4. В Oracle создан dblink, использующий созданный System DSN . Oracle видит DB2 и выполняет все запросы. А теперь проблема: Все CHARACTER поля, в свойствах которых стоит CCSID=65535 возвращаются в виде строк hex кодов, поля для которых CCSID=1025 или пусто, возвращаются в виде нормального текста, причем как латинского, так и русского. Насколько я понимаю, за трансляцию данных как раз и должен отвечать упомянутый чекбокс, но отмечен он или нет, никак не влияет на получаемые данные. Возможен, конечно вариант с ручной конвертацией, но это кривоватое решение, да и, надеюсь, должно быть стандартное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 13:29 |
|
||
|
Проблема с миграцией данных DB2 -> Oracle
|
|||
|---|---|---|---|
|
#18+
Попробуй в явном виде конвертировать: Код: plaintext Тип данных оставь тот же, что и у исходного поля (т.е. в примере предполагается, что hex_text определено как char(20)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 17:24 |
|
||
|
Проблема с миграцией данных DB2 -> Oracle
|
|||
|---|---|---|---|
|
#18+
Valera SА теперь проблема: Все CHARACTER поля, в свойствах которых стоит CCSID=65535 возвращаются в виде строк hex кодов, поля для которых CCSID=1025 или пусто, возвращаются в виде нормального текста, причем как латинского, так и русского. Насколько я понимаю, за трансляцию данных как раз и должен отвечать упомянутый чекбокс, но отмечен он или нет, никак не влияет на получаемые данные. Возможен, конечно вариант с ручной конвертацией, но это кривоватое решение, да и, надеюсь, должно быть стандартное решение.Добрый день. А вы возьмите какую-нибудь программу, которая через odbc работает и запустите Код: plaintext В случае установленного translate ... вернется 'АБВГД', иначе - строка hex-кодов. Именно так возвращает результат iSeries Run SQL Scripts. Это пускалка sql и не только команд, доступная из iSeries Navigator, когда вы находитесь на объекте имя_базы (иконку искать в правой нижней четверти окна). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 10:19 |
|
||
|
Проблема с миграцией данных DB2 -> Oracle
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы, mustaccio, Mark Barinstein. Это все же ручная конвертация, к тому же в оракле конструкция Код: plaintext А решение проблемы найдено, во всяком случае для виндового ODBC. ODBC д.б. настроен аналогично клиенту iSeries (Окно Run SQL Scripts , меню Connection / JDBC Setup... ) В окне конфигурации ODBC iSeries Access for Windows ODBC Setup в закладке Translation устанавливается флажок Convert binary data (CCSID=65535) to text Можно еще в закладке Server установить значение поля Naming convention равным SQL naming convention (*SQL) Ну и нужно, конечно, помнить, что ODBC настраивается на хосте, где установлен оракл и через который создан dblink на DB2, а не на станции, где через ораклового клиента заливаются данные с DB2. Я из-за этой забывчивости целый день потерял :( После указанных настроек текстовые поля всех таблиц DB2 отображаются корректно, независимо от CCSID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 12:02 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=34333171&tid=1604789]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 362ms |

| 0 / 0 |
