2015-12-24 2 views
0

Мне интересно, нужно ли мне реализовать решение в конце Datastage и/или Oracle 11g DB end, чтобы исправить проблему существования символов без ascii в описаниях. Поскольку базы данных используют разные наборы символов, преобразование одного набора в другое иногда преобразует один символ не-ascii в несколько символов, вызывая ошибку усечения.Сценарий IBM datastage 8.7 для удаления специальных символов oracle 11g

описание образца «: ¿Что дата это произошло ¿ххххх: ¿среда, поэтому было бы .....» «: пришлось идти к врачу yesterday.¿ хххххх: ¿I¿ просто дайте вам указать ваше «

В идеале (на более длительный срок) Я хотел бы заменить соответствующим символом, то есть некоторые расширенные кавычки должны стать обычной цитатой.

За короткий срок у меня есть образец скрипт, написанный, который в основном заменяет все специальные символы с пробелом -

UPDATE rcmain.rc_description 
SET desc_description = REPLACE(desc_description, CHR(191), ' ') 
WHERE desc_description LIKE '%' || CHR(191) || '%' 

Из вышеприведенного сценария, я должен был создать DataStage «ctlCleanseSourceFile» работу, которая вызывает сценарий оболочки UNIX «Replace_extended_characters.sh», чтобы удалить специальные символы из файлов XML.

Это можно сделать, как только XML-файл будет объединен в один файл.

Измените один из прикрепленных файлов примеров, чтобы создать сценарий оболочки.

Он должен: Использовать инструкцию sed в образцах, Хранить резервную копию исходного файла перед заменой. Сохраните его в том же архиве, что и другие файлы для запуска. & отчет о замененных символах, если это возможно.

Есть ли лучший способ справиться с этой ситуацией и не использовать пространство для описания поля.

«Извиняюсь за длинный пост»

ответ

0

Извинения, это быстрый ответ;

Каковы ваши настройки NLS?

У меня была проблема, как вы, читающая XML, и изменение исходной стадии NLS на Windows 1252 разрешило проблему с недопустимым символом, с которой я столкнулся (источником файлов был сервер Windows, но Datastage был в Unix, поэтому с использованием UTF-8)

+0

Благодарим за ответ и посоветуем, попытаемся изменить настройки на окна 1252 и посмотреть, работает ли что-либо из его прелестей. – abby

+0

Привет, Да, можете ли вы сообщить, будут ли изменения, внесенные в базовую БД, повлиять на данные сразу, или мне нужно будет снова перезагрузить данные, чтобы обработать их новыми настройками? – abby

+0

Эбби, мне не нужно было вносить изменения в БД только в исходный узел в Datastage, изменив настройки NLS, это означало, что он правильно прочитал XML. Можете ли вы сообщить, что такое исходный узел (возможно, оракульный коннектор?) –

Смежные вопросы