我以前用过currentSchema = MYSCHEMA;在我的JDBC URL连接中,但我们使用的DB2版本不再支持它,显示错误'目标服务器上不允许“currentSchema”属性'。我尝试过使用hibernate.default_schema,但它并没有自动将模式添加到我的表名中。我不想在每个@Table注释上设置架构,因为我需要在测试和生产之间进行更改。是否有另一种方法来设置连接或通过休眠?
更新:它一定是驱动程序版本问题。我升级到后来的驱动程序,currentSchema工作。
答案 0 :(得分:32)
使用DB2 JDBC type 4驱动程序( com.ibm.db2.jcc.DB2Driver ),我正在使用此URL进行连接:
jdbc:db2://<HOST>:<PORT>/<DATABASE>:currentSchema=<SCHEMA>;
答案 1 :(得分:5)
9.7(最新)数据库的所有属性都在这里......
使用:
currentSchema
指定用于在动态准备的SQL语句中限定非限定数据库对象的默认模式名称。此属性的值设置数据库服务器上CURRENT SCHEMA专用寄存器中的值。模式名称区分大小写,必须以大写字符指定。
答案 2 :(得分:0)
使用驱动程序'com.ibm.as400.access.AS400JDBCDriver'连接到AS400上的数据库的URL是什么?...'currentSchema'包含在URL中,在这种情况下不起作用...