在Oracle外部表中处理UTF-8字符
发布时间:2020-12-12 13:08:28 所属栏目:百科 来源:网络整理
导读:我有一个从固定长度文件读取的外部表.该文件应包含特殊字符.在我的例子中,包含特殊字符的单词是“G?teborg”.因为“?”是一个特殊字符,看起来Oracle正在将其视为2个字节.这导致了麻烦.文件中的后续字段移位1个字节,从而弄乱了数据.有没有人遇到过这个问题.到
我有一个从固定长度文件读取的外部表.该文件应包含特殊字符.在我的例子中,包含特殊字符的单词是“G?teborg”.因为“?”是一个特殊字符,看起来Oracle正在将其视为2个字节.这导致了麻烦.文件中的后续字段移位1个字节,从而弄乱了数据.有没有人遇到过这个问题.到目前为止,我们尝试了以下解决方案:
将NLS_LANG的值更改为AMERICAN_AMERICA.WE8ISO8859P1 什么都行不通. >文件是UTF-8编码的 还有什么我可能会失踪的东西?任何帮助将不胜感激.谢谢! nls_length_semantics仅适用于创建新表.以下是我为解决这个问题所做的工作. records delimited by newline CHARACTERSET AL32UTF8 STRING SIZES ARE IN CHARACTERS 即 ALTER SESSION SET nls_length_semantics = CHAR / CREATE TABLE TDW_OWNER.SDP_TST_EXT ( COST_CENTER_CODE VARCHAR2(10) NULL,COST_CENTER_DESC VARCHAR2(40) NULL,SOURCE_CLIENT VARCHAR2(3) NULL,NAME1 VARCHAR2(35) NULL ) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY DBA_DATA_DIR ACCESS PARAMETERS ( records delimited by newline CHARACTERSET AL32UTF8 STRING SIZES ARE IN CHARACTERS logfile DBA_DATA_DIR:'sdp_tst_ext_%p.log' badfile DBA_DATA_DIR:'sdp_tst_ext_%p.bad' discardfile DBA_DATA_DIR:'sdp_tst_ext_%p.dsc' fields notrim ( COST_CENTER_CODE CHAR(10),COST_CENTER_DESC CHAR(40),SOURCE_CLIENT CHAR(3),NAME1 CHAR(35) ) ) LOCATION (DBA_DATA_DIR:'sdp_tst.dat') ) REJECT LIMIT UNLIMITED NOPARALLEL NOROWDEPENDENCIES / (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |