使用JDBC创建DB2模式

9

使用JDBC在DB2中创建架构的正确语法或正确步骤是什么?

当使用db2admin帐户运行create schema test1create schema test1 authorization db2admin 时,我始终会收到DB2 SQL Error:SQLCODE=-552,SQLSTATE=42502,SQLERRMC=DB2ADMIN;CREATE SCHEMA,DRIVER=3.64.106

完全相同的命令在使用DB2命令行工具时可以正常工作。

2个回答

9

我找到了它。

事实证明,由于某些原因,DB2 Express-C默认不授予db2admin DBADM权限。

可以通过连接到数据库,然后发出以下命令来解决这个问题:

GRANT DBADM ON DATABASE to db2admin

感谢Ian Bjorhovde提供的灵感火花!

1

正如我所说,用户是DB2Admin并拥有所有权限。同样的用户可以使用DB2命令行工具执行该语句而没有任何问题。 - Axel Fontaine
1
已经尝试过了。我还尝试了三个不同版本的JDBC驱动程序:旧版本和最新的JDBC3和JDBC4版本。但是没有成功。 - Axel Fontaine
那么下一步就是尝试在新的数据库服务器上运行相同的代码,看看会发生什么,这可能会给你一些线索:http://www-01.ibm.com/software/data/db2/express-c/download.html。 - the_marcelo_r
已经完成了。已经运行了Express-C(最新版本),并尝试使用全新的实例。 - Axel Fontaine
1
请在以尝试执行CREATE SCHEMA命令的用户身份连接到数据库后,发布查询“select dbadmauth from syscat.dbauth where grantee = current user”的结果。 - Ian Bjorhovde
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接