Zmień język (stronę kodową) bazy danych Oracle
Mamy dwie bazy danych Oracle, które są skonfigurowane do:
SQL> SELECT USERENV ('language') FROM DUAL;USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
Pozostałe instancje są skonfigurowane w następujący sposób:
SQL> SELECT USERENV ('language') FROM DUAL;USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.WE8ISO8859P1
Stwarza to różnego rodzaju problemy podczas przesyłania danych z jednej bazy danych do drugiej. Czy można przekonwertować dwie „niestandardowe” bazy danych, aby pasowały do innych? Jeśli tak to jak?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Więc,
Konwersję z WE8 ... P1 na Unicode można łatwo wykonać poprzez eksportowanie (ustawienie NLS_LANG na WE8..P1), tworzenie nowej, pustej bazy danych i importowanie (ponownie, ustawiając NLS_LANG na WE8..P1). Jednak konwersja do Unicode ma pewne skutki uboczne, szczególnie w odniesieniu do ograniczeń dowolnych kolumn varchar2 - jeśli było to varchar2 (20), zwykle oznacza to 20 bajtów, więc przy użyciu Unicode 20 bajtów może zawierać mniej znaków (innych niż angielskie). ... Aby więc uniknąć obcinania danych, może być konieczne zwiększenie niektórych kolumn ... Wszystkie szczegóły tutaj:
http://download.oracle.com/doc ... g.htm
http://download.oracle.com/doc ... g.htm
Konwersja z UTF8 do WE8..P1 jest ponownie eksportowana z NLS_LANG = WE8 ... P1 (teraz utracisz wszystkie znaki, które nie są wyświetlane w ASCII P1, takie jak arabski, chiński itp.), Tworząc pustą bazę danych We8 .. P1 i import danych z NLS_LANG = WE8ISO8859P1.