2016-05-23 63 views
-1

我一直在尝试使用用Java编写的小程序连接到Informix数据库。运行Java程序时出现INFORMIX错误

该程序在Informix的测试服务器中的一个,但在生产系统中它给了我们以下异常的一个运行工作很好:

值java.sql.SQLException:INFORMIXSERVER不匹配或者 DBSERVERNAME或DBSERVERALIASES。

我做了一些研究,并检查了以下两个值的差异。

  1. 输出命令echo $INFORMIXSERVER的。

  2. DBSERVERNAME在服务器onconfig文件中的值,出现在$INFORMIXDIR/etc目录中。

这两者的价值是相同的,我看不出这两个值的任何问题。

你们可以请我建议一些解决方案,或者我可以寻找解决方案的任何地方?

谢谢。

+0

@Downvoter:有一些礼貌评论,以使您的观点有效。 –

回答

2

连接字符串应该是这个样子:

jdbc:informix-sqli://HOSTNAME:PORT:informixserver=DBSERVERNAME;user=USERNAME;password=PASSWORD; 

如果,例如,您的Informix SQL hosts文件看起来像:

infx1150  onsoctcp  tardis 15115 k=1 

然后,用户informix与您的连接字符串密码the_key应该是这样的:

jdbc:informix-sqli://tardis:15115:informixserver=infx1150;user=informix;password=the_key; 

您收到的错误说明连接字符串上的informixserver值与给定主机上的DBSERVENAME不匹配。

这意味着您到达连接字符串上的主机和端口,但不是DBSERVERNAME