甲骨文。加载数据infile错误

时间:2011-11-04 07:09:46

标签: image oracle sql-loader

表格

CREATE TABLE image_table (
   image_id   NUMBER(5),
   file_name  VARCHAR2(30),
   image_data BLOB);

SQL:

load data infile * replace into table test_image_table
fields terminated by ','
(
     image_id   INTEGER(5),
     file_name  CHAR(30),
     image_data LOBFILE (CONSTANT 'C:\img.txt') TERMINATED BY EOF
 )

C:\ img.txt: 001,C:\ 1.jpg

错误: ORA-00928:缺少SELECT关键字 00928. 00000 - “缺少SELECT关键字” *原因:
*行动: 行错误:4列:1

我做错了什么?

3 个答案:

答案 0 :(得分:2)

您想要使用不是SQL*Loader的{​​{1}}。您必须将SQL*Plus所谓的文件保存为SQL扩展名,并调用sqlldr:

.ctl

请注意,sqlldr login/password@database control=my_file.ctl 表示您的CTL文件中必须包含infile *

答案 1 :(得分:0)

似乎您正在尝试使用SQL*Plus运行您的SQL*Loader控制文件。在UNIX命令行中使用以下sqlldr之一。不要忘记将您提到的SQL文件另存为.ctl文件。

sqlldr username@server/password control=loader.ctl

sqlldr username/password@server control=loader.ctl

答案 2 :(得分:0)

在 SQL Developer 中试试这个:host sqlldr username/password control=my_file.ctl