SQl LOADER无法加载数据

姆拉杜尔

我正在尝试使用sql loader adn加载数据时出现错误

Rows not loaded due to data errors.

这是控制文件

 LOAD DATA
 INFILE './data/link_data.csv'
 APPEND
 INTO TABLE STG_LINK_DATA
 when (dhcp_token != '') AND (dhcp_token != 'NULL') AND (dhcp_token != 'null')
  and (cmts_to_add != '') AND (cmts_to_add != 'NULL') AND (cmts_to_add != 'null')
  FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS 
(dhcp_token "RTRIM(LTRIM(:dhcp_token))",cmts_to_add "RTRIM(LTRIM(:cmts_to_add))")

表是-

CREATE TABLE stg_link_data (dhcp_token VARCHAR2(100), cmts_to_add VARCHAR2(4000));

我正在使用的数据就像---

 dhcp-2-1|belc-cmts-01-1,belc-cmts-02-1,belc-cmts-03-1,belc-cmts-04-1,belc-cmts-05-1,belc-cmts-08-2,belc-cmts-09-2,bele-cmts-01-1,bele-cmts-02-1,bele-cmts-03-1,bele-cmts-04-1,bele-cmts-05-1,bele-cmts-06-1,bele-cmts-10-2,bele-cmts-11-2,belf-cmts-01-1,belf-cmts-02-1,belf-cmts-03-1,belf-cmts-07-1,belf-cmts-09-1,belf-cmts-09-2,belf-cmts-10-1,belf-cmts-10-2,glen-cmts-01-1,glen-cmts-02-1
 dhcp-2-1|glen-cmts-03-1,glen-cmts-04-1,glen-cmts-04-2,ldry-cmts-01-1,ldry-cmts-03-1,ldry-cmts-03-2,lisb-cmts-01-1,lisb-cmts-02-1,lisb-cmts-03-1,lisb-cmts-03-2
 dhcp-10-5|ando-cmts-01-1,ando-cmts-02-1,ando-cmts-03-1,ando-cmts-04-1,ando-cmts-07-2,bour-cmts-01-1,bour-cmts-02-1,bour-cmts-03-1,bour-cmts-04-1,bour-cmts-05-1,bour-cmts-05-2,cwma-cmts-01-1,cwma-cmts-02-1,cwma-cmts-03-1,cwma-cmts-04-1,cwma-cmts-05-1,cwma-cmts-06-1,cwma-cmts-10-2,cwma-cmts-11-2,fare-cmts-03-1,fare-cmts-04-1,fare-cmts-06-1,fare-cmts-06-2,fare-cmts-07-1,fare-cmts-07-2
dhcp-10-5|gors-cmts-01-1,gors-cmts-02-1,gors-cmts-02-2,hava-cmts-01-1,hava-cmts-02-1,hava-cmts-02-2,lock-cmts-01-1,lock-cmts-02-1,lock-cmts-03-1,lock-cmts-03-2,neat-cmts-01-1,neat-cmts-02-1,neat-cmts-04-1,neat-cmts-04-2,ptal-cmts-01-1,ptal-cmts-02-1,ptal-cmts-03-1,ptal-cmts-04-1,ptal-cmts-04-2,ptal-cmts-05-2,rdng-cmts-10-1,rdng-cmts-11-1,rdng-cmts-12-1,rdng-cmts-13-1,rdng-cmts-14-1
 dhcp-10-5|rdng-cmts-15-1,rdng-cmts-16-1,rdng-cmts-17-1,rdng-cmts-18-1,rdng-cmts-19-1,rdng-cmts-20-1,rdng-cmts-20-2,rdng-cmts-21-1,rdng-cmts-21-2,rdng-cmts-22-1,rdng-cmts-22-2,rdng-cmts-23-1,rdng-cmts-23-2,rdng-cmts-24-1,rdng-cmts-24-2,rdng-cmts-25-2,rdng-cmts-26-2,sals-cmts-01-1,sals-cmts-03-1,sals-cmts-03-2,sket-cmts-01-1,sket-cmts-02-1,sket-cmts-03-1,sket-cmts-03-2,sotn-cmts-01-1
dhcp-10-5|sotn-cmts-02-1,sotn-cmts-03-1,sotn-cmts-04-1,sotn-cmts-05-1,sotn-cmts-06-1,sotn-cmts-07-1,sotn-cmts-14-2,sotn-cmts-15-2,sotn-cmts-16-2,sotn-cmts-17-2,swan-cmts-01-1,swan-cmts-02-1,swan-cmts-04-1,swan-cmts-04-2,swin-cmts-01-1,swin-cmts-02-1,swin-cmts-03-1,swin-cmts-04-1,swin-cmts-05-1,swin-cmts-06-1,swin-cmts-18-2,swin-cmts-19-2,swin-cmts-20-2
dhcp-9-2|bigg-cmts-01-1,bigg-cmts-02-1,bigg-cmts-03-1,bigg-cmts-03-2,hitc-cmts-01-1,hitc-cmts-02-1,hitc-cmts-03-1,hitc-cmts-04-1,hitc-cmts-05-1,hitc-cmts-06-1,hitc-cmts-06-2,hitc-cmts-07-1,hitc-cmts-07-2,kemp-cmts-01-1,kemp-cmts-02-1,kemp-cmts-03-1,kemp-cmts-04-1,kemp-cmts-05-1,kemp-cmts-06-1,kemp-cmts-06-2,kemp-cmts-07-1,kemp-cmts-07-2,stev-cmts-01-1,stev-cmts-02-1,stev-cmts-03-1
dhcp-9-2|stev-cmts-04-1,stev-cmts-05-1,stev-cmts-06-1,stev-cmts-06-2,stev-cmts-07-1,stev-cmts-07-2

我使用的sqlldr是-

sqlldr $LOGIN_NM CONTROL=load_link_data.ctl LOG=log/${FILE_LINK}.log BAD=log/${FILE_LINK}.bad DISCARD=bad/${FILE_LINK}.reject ERRORS=100000 DIRECT=TRUE PARALLEL=TRUE

我没有得到这个,因为我可以看到错误是-

   Column Name                  Position   Len  Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
DHCP_TOKEN                          FIRST     *   |  O(") CHARACTER            
SQL string for column : "RTRIM(LTRIM(:dhcp_token))"
CMTS_TO_ADD                          NEXT     *   |  O(") CHARACTER            
SQL string for column : "RTRIM(LTRIM(:cmts_to_add))"

Record 1: Discarded - failed all WHEN clauses.
Record 3: Discarded - failed all WHEN clauses.
Record 4: Discarded - failed all WHEN clauses.
Record 5: Discarded - failed all WHEN clauses.
Record 6: Discarded - failed all WHEN clauses.
Record 7: Discarded - failed all WHEN clauses.

如果查看控制文件,则它拒绝空白字段和​​其他字段的记录,但是这里没有空白字段,我可能没有sql loader的这种行为

请帮忙 !!

向我询问更多信息

另外,当我从控制文件中省略WHEN子句时,它给了我数据错误,表示列长度cmts_to_add超过了长度,而我给出了全长(4000字节),并且字符串最大,最大。长400

姆拉杜尔

解决了 !!

新的CTL文件检查cmts_to_add列中所做的更改,只需将TRIM()替换为CHAR()即可将SQL LOADER的默认限制从256字节增加到4000字节:)

LOAD DATA
INFILE './data/link_data.csv'
APPEND
INTO TABLE STG_LINK_DATA
when (dhcp_token != '') AND (dhcp_token != 'NULL') AND (dhcp_token != 'null')
and (cmts_to_add != '') AND (cmts_to_add != 'NULL') AND (cmts_to_add != 'null')
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS 
(dhcp_token "RTRIM(LTRIM(:dhcp_token))",cmts_to_add CHAR(4000))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用SQL Loader在表中加载数据

来自分类Dev

尝试使用sql loader加载时区数据

来自分类Dev

使用SQL Loader在表中加载数据

来自分类Dev

SQL * Loader:使用处理方式加载数据

来自分类Dev

使用基于字符串值的sql loader加载数据

来自分类Dev

使用INTEGER数据类型时,为什么SQL * Loader加载808594481?

来自分类Dev

SQL Loader-使用TERMINATED将数据加载到其他表中

来自分类Dev

SQL*Loader 在将数据加载到单列时跳过第一个字符

来自分类Dev

Android OnItemClick 无法将加载的 SQL 数据库加载到列表视图中

来自分类Dev

SQL * Loader无法识别定界符“¥”

来自分类Dev

SQL * Loader-128:无法开始会话

来自分类Dev

SQL * Loader-128:无法开始会话

来自分类Dev

无法将示例数据库从“凡人的SQL查询”加载到Oracle的SQL Developer中

来自分类Dev

无法从sql提取数据

来自分类Dev

SQL无法插入数据

来自分类Dev

使用SQL Loader在Oracle中加载XML文件

来自分类Dev

SQL Loader从单个文件加载到BLOB列

来自分类Dev

使用 sql loader 加载包含拉丁字符的 csv 文件

来自分类Dev

向 SQL*Loader 控制文件添加逻辑以加载特定列

来自分类Dev

PostgreSQL安装期间无法将sql模块加载到数据库集群中

来自分类Dev

JOIN查询在sql server 2008中工作,无法在datagridview中加载数据仅显示标题

来自分类Dev

ORA-01031:通过SQL * Loader将数据从一种模式批量加载到另一种模式时权限不足

来自分类Dev

Application Loader无法加载Build

来自分类Dev

从spring属性加载SQL无法运行

来自分类Dev

SQL请求无法检索数据

来自分类Dev

无法从sql压缩数据(oracle)

来自分类Dev

SQL无法获取准确数据

来自分类Dev

如何通过sql Lite加载数据

来自分类Dev

将数据从SQL加载到R中

Related 相关文章

  1. 1

    使用SQL Loader在表中加载数据

  2. 2

    尝试使用sql loader加载时区数据

  3. 3

    使用SQL Loader在表中加载数据

  4. 4

    SQL * Loader:使用处理方式加载数据

  5. 5

    使用基于字符串值的sql loader加载数据

  6. 6

    使用INTEGER数据类型时,为什么SQL * Loader加载808594481?

  7. 7

    SQL Loader-使用TERMINATED将数据加载到其他表中

  8. 8

    SQL*Loader 在将数据加载到单列时跳过第一个字符

  9. 9

    Android OnItemClick 无法将加载的 SQL 数据库加载到列表视图中

  10. 10

    SQL * Loader无法识别定界符“¥”

  11. 11

    SQL * Loader-128:无法开始会话

  12. 12

    SQL * Loader-128:无法开始会话

  13. 13

    无法将示例数据库从“凡人的SQL查询”加载到Oracle的SQL Developer中

  14. 14

    无法从sql提取数据

  15. 15

    SQL无法插入数据

  16. 16

    使用SQL Loader在Oracle中加载XML文件

  17. 17

    SQL Loader从单个文件加载到BLOB列

  18. 18

    使用 sql loader 加载包含拉丁字符的 csv 文件

  19. 19

    向 SQL*Loader 控制文件添加逻辑以加载特定列

  20. 20

    PostgreSQL安装期间无法将sql模块加载到数据库集群中

  21. 21

    JOIN查询在sql server 2008中工作,无法在datagridview中加载数据仅显示标题

  22. 22

    ORA-01031:通过SQL * Loader将数据从一种模式批量加载到另一种模式时权限不足

  23. 23

    Application Loader无法加载Build

  24. 24

    从spring属性加载SQL无法运行

  25. 25

    SQL请求无法检索数据

  26. 26

    无法从sql压缩数据(oracle)

  27. 27

    SQL无法获取准确数据

  28. 28

    如何通过sql Lite加载数据

  29. 29

    将数据从SQL加载到R中

热门标签

归档