我试图用标准的方式使用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