![](/img/trans.png)
[英]IBM DB2 on cloud error: Connection authorization failure occurred. Reason: User ID or Password invalid. ERRORCODE=-4214, SQLSTATE=28000
[英]Connection authorization failure occurred. Reason: Invalid GSSAPI server credential. ERRORCODE=-4214, SQLSTATE=28000
我希望使用JDBC和IBMid / Password連接到雲上的DB2倉庫(DB2 WoC)服務器,只要在數據庫實例上啟用了IAM。 在我的Db2 WoC服務器上啟用了它。 這是我要連接的代碼(此方法在此處說明 ):
import com.ibm.db2.jcc.DB2SimpleDataSource
val dataSource: DB2SimpleDataSource = new DB2SimpleDataSource()
dataSource.setDriverType(4)
dataSource.setDatabaseName("BLUDB")
dataSource.setServerName("<server url>")
dataSource.setPortNumber(50001)
dataSource.setSslConnection(true)
dataSource.setSecurityMechanism(com.ibm.db2.jcc.DB2BaseDataSource.PLUGIN_SECURITY)
dataSource.setPluginName("IBMIAMauth")
val conn = dataSource.getConnection("<ibmid>", "<password>")
嘗試使用這種方式進行連接時,出現錯誤Connection authorization failure occurred. Reason: Invalid GSSAPI server credential. ERRORCODE=-4214, SQLSTATE=28000
Connection authorization failure occurred. Reason: Invalid GSSAPI server credential. ERRORCODE=-4214, SQLSTATE=28000
Connection authorization failure occurred. Reason: Invalid GSSAPI server credential. ERRORCODE=-4214, SQLSTATE=28000
在互聯網上搜索此錯誤使我無處可去。 為什么會這樣呢? (我的服務器URL是正確的)。
編輯:我正在使用db2jcc4.jar驅動程序版本4.26.14,並且我在試圖連接到server url
本地系統上運行此代碼。
並不是真正的答案,但這對於評論來說太大了。
您可以在沒有CLPPlus的情況下解決連接問題,因為驅動程序本身包含嵌入式測試程序,您可以像這樣調用它:
java -cp /path/to/db2jcc4.jar com.ibm.db2.jcc.DB2Jcc \
-url "jdbc:db2://whatever.bluemix.net:50001/BLUDB:sslConnection=true;sslCertLocation=/path/to/DigiCertGlobalRootCA.crt;" \
-user whatever -password "secret"
請注意對服務器證書的引用。
上面的方法適用於現在已棄用的JDBC 3.0驅動程序db2jcc.jar
和JDBC 4.0驅動程序db2jcc4.jar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.