Exp_Imp - Unicode

Alice in Wonderland
Дата: 31.05.2006 14:01:41

Добрый день.

Есть схема в кодировке CL8MSWIN1251. Хочется перенести ее в базу с набором
символов UTF8.
Как сделать , чтобы русские символы корректно перенеслись в этом случае?

--
Alice


Posted via ActualForum NNTP Server 1.3

Akrillis
Дата: 31.05.2006 16:45:20
по-моему, через exp/imp это сделать не получится...
andrey_anonymous
Дата: 31.05.2006 17:26:43
Akrillis
по-моему, через exp/imp это сделать не получится...

С чего бы вдруг?
D:\Temp>set nls_lang=american_america.ru8pc866

D:\Temp>sqlplus olduser/oldpassword@db9i_singlebyte

SQL*Plus: Release 10.1.0.4.2 - Production on Wed May 31 17:18:30 2006

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.7.0 - Production

SQL> create table ane_test(c varchar2(100 CHAR));

Table created

SQL> insert into ane_test values('Съешь ещё этих мягких французских булочек, да выпей чаю');

1 row inserted

SQL> commit;

Commit complete

SQL> select * from ane_test;

C
--------------------------------------------------------------------------------
Съешь ещё этих мягких французских булочек, да выпей чаю

SQL> select * from nls_database_parameters p where p.parameter ='NLS_CHARACTERSET';

PARAMETER                      VALUE
------------------------------ ----------------------------------------
NLS_CHARACTERSET               RU8PC866

SQL> quit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.7.0 - Production

D:\Temp>exp olduser/oldpassword@db9i_singlebyte tables=(ANE_TEST) file=ane_test.dmp

Export: Release 8.1.7.0.0 - Production on Wed May 31 16:58:15 2006

(c) Copyright 2000 Oracle Corporation.  All rights reserved.


Connected to: Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.7.0 - Production
Export done in RU8PC866 character set and UTF8 NCHAR character set

About to export specified tables via Conventional Path ...
. . exporting table                       ANE_TEST          1 rows exported
Export terminated successfully without warnings.

D:\temp>cd \ora10ds

D:\ora10ds>
D:\ora10ds>bin\imp user/password@db10g_unicode tables=(ANE_TEST) file=d:\temp\ane_test.dmp ignore=Y

Import: Release 10.1.0.4.2 - Production on Wed May 31 17:09:12 2006

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining Scoring Engine options

Export file created by EXPORT:V08.01.07 via conventional path

Warning: the objects were exported by olduser, not by you

import done in RU8PC866 character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
export server uses UTF8 NCHAR character set (possible ncharset conversion)
. importing OLDUSER's objects into USER
. . importing table                     "ANE_TEST"          1 rows imported
Import terminated successfully without warnings.

D:\ora10ds>bin\sqlplus user/password@db10g_unicode

SQL*Plus: Release 10.1.0.4.2 - Production on Wed May 31 17:09:23 2006

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining Scoring Engine options

SQL> select * from ane_test;

C
--------------------------------------------------------------------------------
Съешь ещё этих мягких французских булочек, да выпей чаю

SQL> select * from nls_database_parameters p where p.parameter ='NLS_CHARACTERSET';

PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CHARACTERSET
AL32UTF8


SQL> quit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining Scoring Engine options

D:\ora10ds>
Alice in Wonderland
Дата: 31.05.2006 18:30:01

>по-моему, через exp/imp это сделать не получится...

Получится , как и продемонстрировал andrey_anonymous.

Проблема была в кривом отображении из-за неправильном значения в NLS
переменных окружения. (что выяснилось вскоре после поста :) )

--
Alice


Posted via ActualForum NNTP Server 1.3