DB2执行建表脚本遇SQL0007N错误,求解决方法
解决DB2执行SQL脚本报错SQL0007N的问题
错误原因
你在DB2交互命令行(db2 =>提示符)中错误使用了tvf参数——tvf是DB2命令行工具的启动参数,并非交互模式下的合法命令;同时路径中的反斜杠\被SQL解析器识别为非法字符,触发SQL0007N错误。
解决方法
方法1:从系统命令行执行(不进入DB2交互窗口)
直接在Windows命令提示符(CMD)或PowerShell中运行:
db2 -tvf "C:\Users\MBR\Desktop\TestTables.sql"
-t:指定SQL语句分隔符为默认的分号-v:执行时显示具体SQL语句-f:指定要执行的SQL文件路径,双引号包裹路径可避免空格或特殊字符引发的问题
方法2:在DB2交互窗口内执行
如果已经进入db2 =>交互模式,使用@命令加载脚本:
@ "C:\Users\MBR\Desktop\TestTables.sql"
或者将路径中的反斜杠替换为正斜杠(避免SQL解析报错):
@ C:/Users/MBR/Desktop/TestTables.sql
验证建表语句
你的建表语句本身是合法的DB2语法,无需修改:
Create TABLE books ( id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL , author VARCHAR(255) NOT NULL , title VARCHAR(255) NOT NULL , isbn INT NULL , PRIMARY KEY(id) );
内容的提问来源于stack exchange,提问作者ahmed barbary
相关产品推荐
相关产品推荐

