我試圖用標準的方式使用JDBC連接到Informix數據庫服務器:Informix的JDBC連接卡住
connection = DriverManager.getConnection("jdbc:informix-sqli://"+ip+
/"+sid+":INFORMIXSERVER="+server+";user="+user+";password="+pass+"");
但它不停地嘗試連接並不會引發錯誤信息(我想它會嘗試連接,因爲它沒有顯示任何東西)。我正在使用IBM Informix驅動程序4.10.00.1534和Java 1.7。 我一直使用這種方法連接到Informix服務器,直到現在,實際上它只有一個服務器失敗。我可以通過帶有odbc的Informix客戶端連接到此服務器,但是它始終與jdbc一起失敗,並且沒有錯誤消息。
是否有任何方法來詳細jdbc連接?任何有關爲什麼失敗的建議?
進展:sqlidebug跟蹤:
C->S (4)
SQ_VERSION
SQ_EOT
S->C (14)
SQ_VERSION
"7.31.TD6" [8]
SQ_EOT
C->S (66)
SQ_INFO
INFO_ENV
Name Length = 12
Value Length = 8
"DBTIME"="%d/%M/%Y"
"DBTEMP"="/tmp"
"SUBQCACHESZ"="10"
INFO_DONE
SQ_EOT
S->C (2)
SQ_EOT
C->S (16)
SQ_DBOPEN
"database" [8]
NOT EXCLUSIVE
SQ_EOT
S->C (28)
SQ_DONE
Warning..: 0x15
# rows...: 0
rowid....: 0
serial id: 0
SQ_COST
estimated #rows: 1
estimated I/O..: 1
SQ_EOT
C->S (78)
SQ_PREPARE
# values: 0
CMD.....: "select site from informix.systables where tabname = ' GL_COLLATE'" [65]
SQ_NDESCRIBE
SQ_WANTDONE
SQ_EOT
而且jdbctrace.log說:
trying com.informix.jdbc.IfxDriver
SQLWarning: reason(Database selected) SQLState(01I04)
SQLWarning: reason(Float to decimal conversion has been used) SQLState(01I05)
SQLWarning: reason(Database has transactions) SQLState(01I01)
SQLWarning: reason(Database selected) SQLState(01I04)
SQLWarning: reason(Database has transactions) SQLState(01I01)
SQLWarning: reason(Database selected) SQLState(01I04)
我已經嘗試了您建議的調試語句,並且它沒有完成打印調試文件,在某些點凍結並且不會繼續打印。我已經用結果更新了答案。再次感謝 – xacy