我有一个.sql文件,它有多个sql查询。使用命令
在clp中执行此文件时db2 -vtf C:\ path \ to \ somefile.sql
始终收到错误
DB21034E该命令作为SQL语句处理,因为它不是 有效的命令行处理器命令。在SQL处理期间,它返回: SQL0007N未处理语句,因为字符不是 SQL语句中包含SQL语句支持。无效 字符:“\”。无效字符前面的文字:“f D:”。 SQLSTATE = 42601 db2 => -tvf D:\ testquery.sql
在.sql文件中我有这些导出查询。
export to ACTIONTAKENMASTER.rar of del select * from SERVEIT.ACTIONTAKENMASTER
export to ACTIVITYACTION.rar of del select * from SERVEIT.ACTIVITYACTION
export to ADDRESSMASTER.rar of del select * from SERVEIT.ADDRESSMASTER
export to ADVISE_INDEX.rar of del select * from SERVEIT.ADVISE_INDEX
任何人都可以帮忙!
答案 0 :(得分:2)
使用-t
选项,您告诉DB2 CLP您的语句以分号(;
)终止。这将覆盖CLP的默认值,其中语句仅为一行。
您有两个选择:
-t
选项:执行db2 -vf C:\path\to\somefile.sql
选项2仅在文件中的每个语句都在一行上时才有效。