1、jdbc连接字符串中指定当前schema要连接的目标库的schema名为DB2INST1,而在jdbc连接db2的字符串中不指定currentSchema的话,分配给用户的schema可能不是DB2INST1,而是DB2ADMIN,这时候程序的数据库操作会报sqlstate=42704的错误,因此需要在jdbc数据源连接设置中带上currentSchema设置
具体如下:
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" username="db2admin"
password="db2admin"
driverClassName="com.ibm.db2.jcc.DB2Driver"
url="jdbc:db2://192.168.0.122:50000/hdpor:currentSchema=DB2INST1;"
maxActive="100" maxIdle="30" maxWait="10000"/>
后面的分号不能少,而且currentSchema值区分大小写(参见:http://zscomehuyue.javaeye.com/blog/659343)
直接登录数据库时也可能发生这种情况
设置如下:
C:\Documents and Settings\Administrator>db2 connect to hd45 user
db2admin using
db2admin