簡體   English   中英

發生連接授權失敗。 原因:無效的GSSAPI服務器憑據。 錯誤代碼= -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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM