• 0
  • 0
  • 1

Proszę o informację, jak można poradzić sobie z problemem różnego kodowania baz.

Podczas importu otrzymuję informację, że baza, do której importuję ma inne kodowanie i niektóre znaki zostaną utracone.

Wiem, że można to zrobić poprzez dwustopniowe zrobienie importu. Czyli najpierw tworzę strukturę, potem robię poszerzenie kolumn i dopiero importuję dane. Czy jest jakiś lepszy sposób albo jakieś uniwersalne kodowanie bazy, które sprawdzi się dla baz z różnymi kodowaniami znaków?

Tak wygląda log z importu:

Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
;;;
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
Master table "SYSTEM"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded
import done in AL32UTF8 character set and AL16UTF16 NCHAR character set
export done in WE8ISO8859P1 character set and UTF8 NCHAR character set
WARNING: possible data loss in character set conversions
Starting "SYSTEM"."SYS_IMPORT_SCHEMA_01": system/********@TEST FULL=N schemas=test directory=DUMP_FOLDER dumpfile=dmsp01.dmp REMAP_SCHEMA=test:test_new logfile=test.log
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "test"."TESTSETVERSLST" 2.608 GB 9 rows
. . imported "test"."TESTDATASETLST" 38.35 MB 8 rows
. . imported "test"."TESTINFS2" 7.708 MB 1 rows
. . imported "test"."TESTREQDOCS" 3.188 GB 4379 rows
. . imported "test"."TESTPOS_BMK" 1.111 GB 7599118 rows
. . imported "test"."TESTPOS_BMK_EI" 427.2 MB 2027264 rows
ORA-02374: conversion error loading table "test"."TEST_PDM_IMPORT"
ORA-12899: value too large for column test (actual: 41, maximum: 40)
ORA-02372: data for row: test : 0X'53656C6273746B6C2E204574696B653474656E2C2053636869'

ORA-02374: conversion error loading table "test"."TEST_PDM_IMPORT"
ORA-12899: value too large for column test (actual: 42, maximum: 40)
ORA-02372: data for row: test : 0X'4B6C65626574696B657474656E2066FC72204765726274652D'

 

 

Adam_Gesing
  • Zapytał
  • @ Adam_Gesing | 21.03.2019
    • laureat
    • 15
    • 6
    • 52