如何使用Hibernate/JDBC为DB2设置当前模式?

wvt8vs2t  于 12个月前  发布在  DB2
关注(0)|答案(2)|浏览(167)

我曾经在我的JDBC URL连接中使用currentSchema=MYSCHEMA;,但是我们使用的DB2版本不再支持它,显示错误The "currentSchema" property is not allowed on the target server
我试过使用hibernate.default_schema,但它不能自动将模式添加到我的表名中。我不想在每个@Table注解上设置模式,因为我需要在测试和生产之间更改它。是否有其他方式设置连接或通过Hibernate?

更新:一定是驱动版本问题。我升级到后来的驱动程序和currentSchema工作。

ao218c7q

ao218c7q1#

对于DB2 JDBC type 4驱动程序(com.ibm.db2.jcc.DB2Driver),我使用以下URL进行连接:

jdbc:db2://<HOST>:<PORT>/<DATABASE>:currentSchema=<SCHEMA>;

来源:http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/rjvdsprp.htm

nle07wnf

nle07wnf2#

9.7(最新)DB的所有属性都在这里。
https://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.db2.luw.apdv.java.doc/doc/r0052607.html
用途:
currentSchema
指定用于限定动态准备的SQL语句中的非限定数据库对象的默认架构名称。此属性的值设置数据库服务器上CURRENT SCHEMA专用寄存器中的值。架构名称区分大小写,并且必须以小写字符指定。

相关问题