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的主要内容,如果未能解决你的问题,请参考以下文章

informix SQL查询咨询

informix数据库锁表怎么处理

Informix 未来 [关闭]

informix行锁会锁表吗

informix数据库错误码-268与-239有啥不同

怎么向informix数据库表中一次插入多条记录