更新: 私の問題は解決しました。私が見つけたこの役立つコードを追加したかっただけです。これにより、.ctl ファイルをより簡単に作成できます。うまくいけば、これはそこにいる何人かの人々に役立ちます.
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 Loaderをいじって理解を深めようとしていますが、これまでのところ非常に興味深いものです。現在の主な問題は、42 行がコミットされたと表示されているにもかかわらず、テーブルがまだ空であることです。
** 参考までに、.csv として保存された Excel スプレッドシートを使用しています。私が 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')
恐ろしい1行の死を解読した後のログは次のとおりです。
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
今、私はこのエラーの原因を見つけようとしてインターネットを精査してきましたが、何も思いつきません. ここで誰かが私を正しい方向に向けることができますか?
また、副次的な質問ですが、見にくくないようにログをフォーマットすることは可能ですか?