SQLCODE=-104,SQLSTATE=42601,SQLERRMC=table;重组;加入 <joined_table>
SQLCODE=-104, SQLSTATE=42601, SQLERRMC=table;reorg ;JOIN <joined_table>
当 运行 此查询在 DBeaver 上的 db2 上时:
reorg table departments
我收到此错误(仅在外部频道):
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=table;reorg ;JOIN <joined_table>, DRIVER=4.19.49
- 这个查询是什么意思?
- 如何修复错误?
请求任何帮助。
尝试call sysproc.admin_cmd('reorg table db2inst1.departments')
因为您使用的是 jdbc 应用程序 DBeaver。
如果您没有限定 table 名称(例如,使用 db2inst1),那么 Db2 将假定限定符(架构名称)与您在连接到数据库时使用的用户 ID 名称相同。
DBeaver 运行s SQL 语句,但它不能直接 运行 Db2 命令 - 相反,任何 jdbc 应用程序都可以 运行 Db2 命令通过您调用的存储过程间接。 CALL 是一个 SQL 语句。
reorg table
是一个命令,它不是SQL语句,所以需要通过admin_cmd
存储过程运行,或者可以连接后从操作系统命令行(或 db2 clp)运行。
因此,如果您在 MS-Windows 上有 db2cmd.exe,或在 linux/unix 上有 bash,您可以连接到数据库,并执行 运行 命令通过 db2 命令。
当 运行 此查询在 DBeaver 上的 db2 上时:
reorg table departments
我收到此错误(仅在外部频道):
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=table;reorg ;JOIN <joined_table>, DRIVER=4.19.49
- 这个查询是什么意思?
- 如何修复错误?
请求任何帮助。
尝试call sysproc.admin_cmd('reorg table db2inst1.departments')
因为您使用的是 jdbc 应用程序 DBeaver。
如果您没有限定 table 名称(例如,使用 db2inst1),那么 Db2 将假定限定符(架构名称)与您在连接到数据库时使用的用户 ID 名称相同。
DBeaver 运行s SQL 语句,但它不能直接 运行 Db2 命令 - 相反,任何 jdbc 应用程序都可以 运行 Db2 命令通过您调用的存储过程间接。 CALL 是一个 SQL 语句。
reorg table
是一个命令,它不是SQL语句,所以需要通过admin_cmd
存储过程运行,或者可以连接后从操作系统命令行(或 db2 clp)运行。
因此,如果您在 MS-Windows 上有 db2cmd.exe,或在 linux/unix 上有 bash,您可以连接到数据库,并执行 运行 命令通过 db2 命令。