使用sqlldr将数据从txt文件加载到oracle表时出错

时间:2011-05-04 09:25:31

标签: oracle sql-loader

我的.ctl文件是:

LOAD DATA
  INFILE "C:\Users\nkb1\Desktop\fnames.txt"
  INTO TABLE MDB.TEACHERS
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  (first_name,last_name)

我正在从Windows命令提示符

执行此操作
sqlldr system@mdb/mdb control=C:\Users\nkb1\Desktop\load.ctl

我得到这样的错误。

 C:\Users\nkb1>sqlldr system@mdb/mdb control=C:\Users\nkb1\Desktop\load.ctl
 SQL*Loader: Release 10.2.0.1.0 - Production on Wed May 4 14:44:22 2011

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

 SQL*Loader-704: Internal error: ulconnect: OCIEnvCreate [-1]

我已将ORACLE_HOME变量设置为C:\oracle\product\10.2.0\db_2,其中db存储

2 个答案:

答案 0 :(得分:2)

坏消息,这是10.2.0.1中的错误。

检查Metalink文档361325.1(希望您有权访问)!

也许您只需要授予其他权限,但您可能需要应用10.2.0.3补丁集

答案 1 :(得分:1)

我遇到了同样的问题。关闭命令提示符。以管理员权限打开一个-以管理员身份打开CMD。

就是这样。这解决了我一直面临的所有问题。

如果您已将SQLLOADER / SQLPLUS脚本另存为批处理文件,请以管理员身份提交/打开该批处理文件。

希望这会有所帮助。