首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL*Loader不识别分隔符“元”

SQL*Loader不识别分隔符“元”
EN

Stack Overflow用户
提问于 2015-06-03 09:10:34
回答 1查看 766关注 0票数 5

当尝试用分隔符加载UTF-8文件时,当它找到字符时不会分隔字段。我们从超过列大小的值中得到一个ORA-12899错误,因为它试图将整行放入第一列。

在UTF-8中,( C2A5),但似乎是在寻找C2C2A5。

数据库设置为

代码语言:javascript
复制
NLS_LANGUAGE    SPANISH
NLS_TERRITORY   SPAIN
NLS_CURRENCY    ?
NLS_ISO_CURRENCY    SPAIN
NLS_NUMERIC_CHARACTERS  ,.
NLS_CHARACTERSET    WE8ISO8859P15
NLS_CALENDAR    GREGORIAN
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE   SPANISH
NLS_SORT    SPANISH
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT    DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT  HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY   ?
NLS_COMP    BINARY
NLS_LENGTH_SEMANTICS    BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET  AL16UTF16
NLS_RDBMS_VERSION   11.2.0.3.0

我们已经尝试过:

代码语言:javascript
复制
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
NLS_LANG=SPANISH_SPAIN.WE8MSWIN1252

我们使用西班牙语语言环境从Windows 7机器上的命令窗口运行SQL*Loader。

控制文件:

代码语言:javascript
复制
LOAD DATA
CHARACTERSET UTF8
INFILE  'C:\tmp\xxxy.txt'
BADFILE 'C:\tmp\xxxy.bad'
TRUNCATE INTO TABLE  SAMPLE.TEST_CAR_VENCIMI_INTERMED
fields terminated by "¥"
TRAILING NULLCOLS
(
CODE             CHAR "upper(ltrim(rtrim(:CODE)))",
CIF              CHAR "upper(ltrim(rtrim(:CIF)))",
CODIGO_PRESTAMO  CHAR "upper(ltrim(rtrim(:CODIGO_PRESTAMO)))"
)

样本数据文件:

代码语言:javascript
复制
21AK0100¥P11111111F¥910002¥000000000106013.64¥666666666¥mail@domain.com¥address¥11111¥Name¥Surname 1¥Surname 2¥mail2@domain.com¥666666666
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-05 11:30:17

由于您使用的是UTF8字符和UTF8文件格式(我认为),对于运行SQL*Loader的会话,请将NLS_LANG环境变量设置为"SPANISH_SPAIN.UTF8“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30615636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档