2011-12-22 40 views
2

我是db2的新手。以下:从db2表中的csv文件导入数据

Import from 'c:\temp\devtest.del' of del insert into devtestone(col1,col2) 

给出了错误:

15:13:51 [IMPORT - 0 row(s), 0.000 secs] [Error Code: -104, SQL State: 42601] DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=Import from 'c:\temp\devtest.del' of del;BEGIN-OF-STATEMENT;, DRIVER=3.57.82 ... 1 statement(s) executed, 0 row(s) affected, exec/fetch time: 0.000/0.000 sec [0 successful, 0 warnings, 1 errors]

+0

看起来您正在运行来自DB2管理实用程序而不是普通的旧DB2CMD命令行程序的命令。根据程序的不同,您可能需要将反斜杠字符切换为正斜杠,并且您可能需要清除输入文件名称周围的引号。 – 2011-12-23 00:12:09

回答

3

IMPORT不是一个SQL语句,它是一个命令。

根据错误消息,您尝试从使用JDBC驱动程序连接到DB2的某个实用程序执行导入。如果要从DB2 Command Editor/DB2命令窗口以外的应用程序执行导入实用程序,则需要使用ADMIN_CMD包装器。这里记录在这里:IMPORT command using the ADMIN_CMD procedure

+0

感谢您的回复。当我执行:CALL SYSPROC.ADMIN_CMD('从del:insert into c:/temp/devtest.del导入到devtestone(col1,col2)')我得到错误:15:07:49 [CALL - 0 row(s) ,0.000秒] [错误代码:-3030,SQL状态:] DB2 SQL错误:SQLCODE = -3030,SQLSTATE =,SQLERRMC = sqlofopn -2029060079,DRIVER = 3.57.82 ... 1个语句执行,0行(s)影响,执行/读取时间:0.000/0.000秒[0成功,0警告,1错误] – beetri 2011-12-29 23:40:48

+0

正如引用文件中所写:'文件必须存在于数据库服务器上.'如果需要导入文件在您的工作站中,您必须使用能够理解IMPORT命令的内容:DB2 Command Editor或DB2 Command Line Processor – 2011-12-30 16:07:19