oracle – SQL * Loader无法识别分隔符“¥”
发布时间:2020-12-12 13:14:52 所属栏目:百科 来源:网络整理
导读:尝试使用¥分隔符加载UTF-8文件时,它在找到字符时不会分隔字段.我们从超过列大小的值中得到ORA-12899错误,因为它试图将整行放入第一列. 在UTF-8中,¥是¥(C2A5),但似乎它试图找到C2C2A5. 数据库设置是 NLS_LANGUAGE SPANISHNLS_TERRITORY SPAINNLS_CURRENCY
尝试使用¥分隔符加载UTF-8文件时,它在找到字符时不会分隔字段.我们从超过列大小的值中得到ORA-12899错误,因为它试图将整行放入第一列.
在UTF-8中,¥是¥(C2A5),但似乎它试图找到C2C2A5. 数据库设置是 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 我们尝试过: NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 NLS_LANG=SPANISH_SPAIN.WE8MSWIN1252 我们从具有西班牙语语言环境的Windows 7计算机上的命令窗口运行SQL * Loader. 控制文件: LOAD DATA CHARACTERSET UTF8 INFILE 'C:tmpxxxy.txt' BADFILE 'C:tmpxxxy.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)))" ) 示例数据文件: 21AK0100¥P22222111F¥910002¥000000000106013.64¥666666666¥mail@domain.com¥address¥22222¥Name¥Surname 1¥Surname 2¥mail2@domain.com¥666666666 解决方法由于您使用的是UTF8字符和UTF8文件格式(我认为),对于运行SQL * Loader的会话,请将NLS_LANG环境变量设置为“SPANISH_SPAIN.UTF8”.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Oracle 存储过程发送邮件实例学习
- ruby-on-rails – OmniAuth使用google oauth 2策略范围失败
- 如何确定kubernetes依赖的各个组件版本?
- jquery+ajax实现跨域请求的方法
- ruby-on-rails – Rspec:在期望.to eq语句中使用OR
- ApplicationContext.xml文件配置的两种方式
- oracle 11g开启归档模式及修改归档目录
- ruby-on-rails – 如何显示存储在s3上的图像而不存储在硬盘
- Oracle:impdp导入等待statement suspended, wait error to
- swift – 无法找到 – 的重载,尽管所有参数都是double