2012-12-21 45 views
6

什么是正确的语法?在DB2中使用JDBC创建模式的正确步骤是什么?使用jdbc创建db2模式

当运行create schema test1create schema test1 authorization db2admin db2admin身份,我始终弄DB2 SQL Error: SQLCODE=-552, SQLSTATE=42502, SQLERRMC=DB2ADMIN;CREATE SCHEMA, DRIVER=3.64.106

相同的指令工作正常使用DB2命令行工具。

回答

6

我发现了它。

事实证明,出于某种原因,DB2 Express-C默认情况下不会将DBADM权限授予db2admin。

这可以通过连接到数据库,然后发出

GRANT DBADM ON DATABASE to db2admin 

感谢伊恩Bjorhovde提供了灵感的火花是固定的!

1

看起来是不是语法,但认证的问题,你必须检查你是通过JDBC凭据:

-552授权-ID不具有的权限才能执行操作操作

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.codes%2Fsrc%2Ftpc%2Fn552.htm

+0

正如我所说的,用户是DB2Admin并拥有所有权利。同一用户可以使用DB2命令行工具执行语句,而不会出现任何问题。 –

+0

我想尽量缩小根本原因,您可以使用另一个DB2客户端并尝试使用相同凭据执行某些DDL吗? http://java-source.net/open-source/sql-clients – theMarceloR

+1

已经做到了。我也尝试了3个不同版本的jdbc驱动程序:一个较旧的版本和最新的jdbc3和jdbc4版本。没有运气。 –