Опция за импортиране на Oracle

Имам прост въпрос, как точно използвате инструмента за импортиране на oracle, за да импортирате база данни с опцията за автоматично преоразмеряване на дължината на колоната, така че автоматично да пасне на данните, преди да импортирате данните.

Давам ви пример: ако имам таблица TABLE1, която има колона, наречена „коментар“, дължината на полето за коментар е 250. Тъй като импортирам TABLE1 от източника (който е в западния набор от символи) в целевата база данни (която е AL- набор от символи UTF32). Някои от данните за записите ще нараснат, т.е. данните в полето за коментар на 1 запис ще нараснат от 250 на 260 поради преобразуването на набора от символи.

Въпросът ми е: как да импортирам TABLE1, така че целевата база данни автоматично да промени полето "коментар" от 250 в максималната дължина на полето за данни на това поле (след преобразуването на набор от знаци увеличава данните). Така че мога да импортирам TABLE1 без грешки.

Каква е опцията за импортиране или командния ред? Има ли начин да разберете кои колони причиняват проблем с данните?

Благодаря ти


person rvpals    schedule 28.04.2015    source източник
comment
Колоната ви дефинирана ли е като 250 байта или 250 знака? Ако последното - а звучи така, сякаш трябва - тогава не трябва да променяте размера. Не мисля, че така или иначе ще видите „растеж“ от съществуващите западни данни към UTF. И ако преоразмерите в байтове, ще трябва да е достатъчно широк за всякакви бъдещи данни, а не само за тези, които имате сега. Изграждате ли таблицата, преди да импортирате данните, или импортът я създава?   -  person Alex Poole    schedule 28.04.2015
comment
Изходната база данни, колоните са определени като 250 байта (не знаци). Установихме, че като преминем от western към UTF, някои данни в тези колони заемат повече от 250 байта, след като бъдат преобразувани, което води до съкращаване, ако не бъдат обработени. Импортирането създава таблиците в целта.   -  person rvpals    schedule 29.04.2015
comment
Можете ли да създадете таблиците предварително в целевата база данни, като използвате символна семантика вместо байтова семантика? Импортирането на помпа за данни и наследеното импортиране могат да се справят с вече съществуващи обекти с подходящи опции на командния ред.   -  person Alex Poole    schedule 29.04.2015


Отговори (1)


В идеалния случай бихте изградили вашата целева таблица предварително, като ширините на колоните, от които се нуждаете, са дефинирани в този момент. След това бихте приспособили контрола sqlldr (SQL Loader) файл във вашия входен формат.

person Politank-Z    schedule 28.04.2015
comment
Това изглежда е единственият начин да го направим. - person rvpals; 30.04.2015