0

我在使用 sql 加载程序加载一组 csv 数据时遇到问题。我有一个包含数据的控制文件,并且我已经在 oracle 10g 中创建了目标表。

当我运行以下命令时,

 C:\Users\lee\sqlloadertest> sqlldr scott/tiger@MYDB,CONTROL='Ad.ctl'

它产生

SQL*Loader: Release 10.2.0.3.0 - Production on Tue Sep 11 17:46:43 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Commit point reached - logical record count 52

当我检查地址表时,它显示没有创建任何行,这意味着该表没有被填充

4

2 回答 2

0

您可以尝试使用 log 选项运行 sql 加载程序并查看实际错误。

这是完整的格式。

C:\Users\lee\sqlloadertest> sqlldr scott/tiger@MYDB CONTROL='Ad.ctl' log=ad.log bad=ad.bad

我的猜测是所有记录都因错误而失败,这通常是这种情况。

于 2012-09-11T19:28:08.187 回答
0

尝试编辑ctl文件-

LOAD DATA
INFILE 'Masterpiece.csv' BADFILE 'Masterpiece.bad' DISCARDFILE 'Masterpiece.dis'    
APPEND
INTO TABLE ADDRESS
fields terminated by "," optionally enclosed by '"'
(ID, LOCATORDESIGNATOR, LOCATORNAME, LOCATOR, THOROUGHFARE, ADDRESSAREA)

CSV文件(Win 格式)有时包含"字段。使用以下命令运行该ctl文件。

sqlldr scott/tiger@MYDB CONTROL='Ad.ctl' LOG='Ad.log'

检查baddis文件是否有错误和丢弃的记录。

于 2012-09-11T19:28:19.033 回答