【问题标题】:Import / export oracle scheme with correct character set使用正确的字符集导入/导出 oracle 方案
【发布时间】:2014-01-22 12:36:28
【问题描述】:

我已成功导出方案。然而,在导入时,日志显示字符集不匹配。奇怪的是,在服务器上导出的字符集与目标数据库上的字符集相同。

这是出处:

SQL> select * from v$NLS_PARAMETERS
  2  ;


**NLS_CHARACTERSET
WE8MSWIN1252**

**NLS_NCHAR_CHARACTERSET
AL16UTF16**

这是来自导入的日志:

Importvorgang mit Zeichensatz WE8MSWIN1252 und Zeichensatz AL16UTF16 NCHAR durchgeführt
Export-Client verwendet Zeichensatz US7ASCII  (mögliche Zeichensatzkonvertierung)

为什么转储被识别为 US7ASCII 集?源和目标都是非美国机器。

谢谢

【问题讨论】:

  • 执行导入/导出的客户端的锁设置为 US7ASCII。检查目标数据库是否有一些特殊字符(例如 üöä)。也许你可以只用一个小表来测试。
  • 德语 Umalute 不见了。 ü 去了你,ö 去了 o,等等。
  • 尝试将本地环境设置为 WE8MSWIN1252 或类似的,例如NLS_LANG=AMERICAN_GERMANY.AL32UTF8。不需要使用相同的字符集,但字符集必须涵盖 CP1252 中的所有字符。

标签: oracle import export


【解决方案1】:

是的,看起来像是客户端会话字符集的问题。将其设置为全球支持和推荐的 UTF8 格式。

请再次导出并尝试导入。 (导出前请执行以下操作):

In Windows
    set NLS_LANG=AMERICAN_AMERICA.UTF8
In Unix
    export NLS_LANG=AMERICAN_AMERICA.UTF8

现在 DB char set 也被推荐为 'AL32UTF8'。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 2021-04-30
    • 2018-07-06
    • 1970-01-01
    • 2020-01-03
    相关资源
    最近更新 更多