更新:我的問題解決了,只是想添加這個我偶然發現的有用代碼。這將幫助您更輕鬆地創建.ctl文件。希望這對那裏的一些人有用。SQL加載程序缺少逗號錯誤
select
'LOAD DATA
APPEND
INTO TABLE ' || '&TABLE_NAME' ||
' FIELDS TERMINATED BY "~"
TRAILING NULLCOLS
(' "Column Name",' ' "sql_loader_type" from dual
union all
select
COLUMN_NAME,
DECODE(DATA_TYPE,
'TIMESTAMP(6)','TIMESTAMP "YYYY-MM-DD HH24:MI:SS.FF",',
'NUMBER','DECIMAL EXTERNAL,',
'VARCHAR2','CHAR,',
'CHAR','CHAR',
'DATE','"TO_DATE(SUBSTR(:' || column_name || ',1,19),''YYYY-MM-DD HH24:MI:SS'')",'
) "sql_loader_type"
from all_tab_cols
where owner=UPPER('&SCHEMA_NAME') AND TABLE_NAME = UPPER('&TABLE_NAME')
union all
select ')' "Column Name" , '' "sql_loader_type" from dual;
我想玩弄SQL加載器來更好地理解它,到目前爲止它一直很有趣。我現在的主要問題是雖然它說42行已經被提交,但我的表仍然是空的。
**僅供參考,我使用excel電子表格保存爲.csv。我在練習Excel文件的原因是因爲遲早我會爲一個項目自動化這個過程。 **
對日誌文件的進一步審查顯示,我收到一條錯誤消息,說我缺少一列。這是我的ctl
文件是如何設置:
options (skip=11, errors=10,rows=45)
load DATA
infile 'location of my file'
INTO TABLE t_legal_transactions
fields terminated BY "," optionally enclosed by '"' trailing nullcols
(ACCOUNT,
transaction_date "to_date(:transaction_date, 'DD_MON_YY'",
amount,
fintran_id,
attorney_id,
description,
ID constant '1',
batch_id constant '1',
org_id constant '239')
這裏是破譯死亡的可怕的一個行後有什麼日誌顯示:
Record 1: Rejected - Error on table T_LEGAL_TRANSACTIONS, column ORG_ID.
ORA-00917: missing comma
Record 2: Rejected - Error on table T_LEGAL_TRANSACTIONS, column ORG_ID.
ORA-00917: missing comma
Record 3: Rejected - Error on table T_LEGAL_TRANSACTIONS, column ORG_ID.
ORA-00917: missing comma
Record 4: Rejected - Error on table T_LEGAL_TRANSACTIONS, column ORG_ID.
ORA-00917: missing comma
Record 5: Rejected - Error on table T_LEGAL_TRANSACTIONS, column ORG_ID.
ORA-00917: missing comma
Record 6: Rejected - Error on table T_LEGAL_TRANSACTIONS, column ORG_ID.
ORA-00917: missing comma
Record 7: Rejected - Error on table T_LEGAL_TRANSACTIONS, column ORG_ID.
ORA-00917: missing comma
Record 8: Rejected - Error on table T_LEGAL_TRANSACTIONS, column ORG_ID.
ORA-00917: missing comma
Record 9: Rejected - Error on table T_LEGAL_TRANSACTIONS, column ORG_ID.
ORA-00917: missing comma
Record 10: Rejected - Error on table T_LEGAL_TRANSACTIONS, column ORG_ID.
ORA-00917: missing comma
現在,我已經在網上淘試圖找到什麼可能是這個錯誤的原因,但我什麼都沒有提出。任何人都可以指出我的方向嗎?
另外一個問題,是否可以格式化日誌,以便它看起來不可怕?
與嘗試一次只有一個字段,不斷添加字段,直到找到問題爲止,而且,只使用2條記錄,而不是10條。 –