db2 jdbc連接字符串中 指定currentSchema


場景:連接DB2數據庫的,jdbc的連接字符串中沒有給當前的數據源用戶指定默認的schema,而當前的數據源用戶下可能有多個schema,則會使用數據源用戶默認的schema.

例如:admin用戶的默認shema是admin,但是我們需要連接的schema是db2inst1,這時候,使用sql操作數據庫的時候,會報42704的錯.

解決方案如下:為當前的連接執行默認的schema是db2inst1:

<Resource auth="Container" driverClassName="com.ibm.db2.jcc.DB2Driver"
        factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
        maxActive="20" maxIdel="10" maxWait="1000" name="jdbc/ZYBIDB" password="db2admin"
        type="javax.sql.DataSource" url="jdbc:db2://10.27.70.33:60000/dbtest:currentSchema=db2inst1;"
        username="db2admin" />

特別注意:見上面的紅字,currentSchema是區分大小寫的,后面的分號也是必須的!

 

當然,若果你只有查詢操作,沒有其他的增加\刪除\修改之類的操作,那么,也不需要上面的指定默認的currentSchema,可以麻煩一點的,直接在自己的sql語句中增加自己的currentSchema指定,

就可以解決不能找不到對應的schema的問題了,具體的見下:

select count(1) as count from db2inst1.table_name 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM