我有一个python脚本,它循环遍历目录中的日志文件,并使用oracle将日志文件加载到oracle数据库。脚本工作正常,甚至sqlloader也是如此。
但是在加载了大约200 k的记录之后,除了这个例外,加载失败了。
Record 11457: Rejected - Error on table USAGE_DATA.
ORA-12571: TNS:packet writer failure
SQL*Loader-926: OCI error while uldlfca:OCIDirPathColArrayLoadStream for table USAGE_DATA
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
Specify SKIP=11000 when continuing the load.
SQL*Loader-925: Error while uldlgs: OCIStmtExecute (ptc_hp)
ORA-03114: not connected to ORACLE
SQL*Loader-925: Error while uldlgs: OCIStmtFetch (ptc_hp)
ORA-24338: statement handle not executed我不知道这是为什么..。我检查了与表的表空间相对应的数据文件,并将自动扩展设置为true。还有什么原因?
在"sqlldr“命令中,我有rows=1000和Direct=True,因此它对加载的每1000条记录都提交一次,通过更改这个数字进行了测试,得到的错误仍然相同。
sqlldr arisdw/arisdwabc01@APPDEV24 control=Temp_Sadish.ctl direct=true rows=1000 data=C:/_dev/logs/sample/data/mydata1.csv;发布于 2011-09-27 17:51:45
张贴你的控制文件内容。您使用的是什么版本的Oracle?
ORA-42338错误是我要关注的错误。你在工作中做过任何数据转换吗?调用函数还是类似的?
https://stackoverflow.com/questions/7570574
复制相似问题