Мне предоставлен экспорт данных DB2 (около 7 ГБ) с соответствующими файлами управления DB2. Моя цель - загрузить все данные в базу данных Oracle. Я почти преуспел в этом - я взял путь преобразования файлов управления в файлы SQL * Loader CTL, и он работал по большей части.Загрузить данные DB2 в базу данных Oracle - исправление данных мусора
Однако некоторые из файлов данных содержат терминаторы и нежелательные данные в некоторых столбцах, которые загружаются в базу данных, что вызывает очевидные проблемы с сопоставлением данных. Например, столбец должен содержать «9930027130», будет отображаться длина (обрезка (col)) = 14: 4 байта нежелательных данных.
Мой вопрос в том, что это лучший способ устранить эти мусорные данные из системы? Я надеюсь, что это простое дополнение к CTL-файлу, которое позволяет ему заменить мусор с пробелами - в противном случае я могу думать только о написании сценария, который анализирует данные и заменяет nulls/junk пробелами перед запуском SQL * Loader.
Данные мусора были «\ 0» и случайными байтами, соответствующими реальным данным. Я принял ваш совет по функции очистки Stip_NonNumeric: ** создать или заменить функцию StripJunkData (strDat in char) return char is начало return substr (strDat, 1, instr (strDat, chr (0)) - 1); end; ** Кажется, что это работает, спасибо за вашу помощь. – MatthewToday