甲骨文。加载数据文件错误
表:
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
我做错了什么?
Table:
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
Error:
ORA-00928: missing SELECT keyword
00928. 00000 - "missing SELECT keyword"
*Cause:
*Action:
Error at Line: 4 Column: 1
What I do wrong ??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您想要使用
SQL*Loader
,它不是SQL*Plus
。您必须将您调用的SQL
保存为扩展名为.ctl
的文件,并调用 sqlldr:请注意,
infile *
意味着您必须您的 CTL 文件中有一些BEGINDATA
。You want to use
SQL*Loader
which is notSQL*Plus
. You have to save what you callSQL
as a file with the.ctl
extension, and call sqlldr:Note that
infile *
means that you must have someBEGINDATA
inside your CTL file.您似乎正在尝试使用
SQL*Plus
来运行SQL*Loader
控制文件。在 UNIX 命令行中使用以下sqlldr
之一。不要忘记将提到的SQL
文件另存为.ctl
文件。或者
It seems like you are trying to use the
SQL*Plus
to run yourSQL*Loader
control file. Use one of the belowsqlldr
in your UNIX command line. Don't forget to save your mentionedSQL
file as a.ctl
file.or
在 SQL Developer 中尝试以下操作:host sqlldr 用户名/密码 control=my_file.ctl
Try this in SQL Developer: host sqlldr username/password control=my_file.ctl