Informix java.lang.ClassNotFoundException: com.informix.jdbc.IfxDirectConnection
Posted
技术标签:
【中文标题】Informix java.lang.ClassNotFoundException: com.informix.jdbc.IfxDirectConnection【英文标题】: 【发布时间】:2021-04-28 10:25:14 【问题描述】:我正在尝试安装并连接到本地 Informix 14 以在 Windows 10 上进行测试。我的 maven POM 有:
<dependency>
<groupId>com.ibm.informix</groupId>
<artifactId>informix-jdbc-complete</artifactId>
<version>4.50.4.1</version>
<scope>test</scope>
</dependency>
我正在尝试直接连接
database.url = jdbc:informix-direct://sysmaster
database.driver=com.informix.jdbc.IfxDirectConnection
但我找不到课程。
有什么想法吗?
【问题讨论】:
哪个类被标识为未找到? IfxDirectConnection 但使用它似乎不正确。我刚刚在 Windows 10 上本地安装了 informix,我无法让 localhost 连接到它说它使用的任何端口。服务正在运行。 【参考方案1】:您不应使用“jdbc:informix-direct:”。这是为用 Java 编写的 UDR 保留的。
使用“jdbc:informix-sqli”,类似:
Class.forName("com.informix.jdbc.IfxDriver");
conn = DriverManager.getConnection("jdbc:informix-sqli://420ito:9088/stores7:INFORMIXSERVER=ids1410;user=informix;password=mypassword;");
【讨论】:
这是我的另一个问题。当我安装 Informix 时,我检查了端口号,但它们都不起作用。我总是得到 java.sql.SQLException: Socket connection to server (localhost:9090) failed。检查您的服务器是否可以从指定的主机:端口上的此客户端访问。 jdbc:informix-sqli://localhost:9090/sysmaster 不知道为什么没有端口号似乎工作。安装在 Windows 10 上并且“IBM Informix Dynamic Server Message Service”服务正在运行。 也许安装没有在环回 (localhost) 上创建侦听器并且正在使用其他网络接口。首先检查您是否可以使用 dbaccess(服务器 bin 目录中的 GUI 工具)进行连接。如果可以,您的服务器应该已启动。然后运行'onstat -g ntt',它应该显示监听器使用了哪些网络接口,例如 (*420ito|9092|soctcp) 表示 Informix 服务器正在监听 SQLI 套接字连接(JDBC 使用的协议) 9092端口中名为“420ito”的机器中的接口。然后将该端口用于您的 JDBC 连接。以上是关于Informix java.lang.ClassNotFoundException: com.informix.jdbc.IfxDirectConnection的主要内容,如果未能解决你的问题,请参考以下文章