注册

求助!mac电脑java8 通过jdbc连接不上达梦数据库

Zero 2026/05/12 159 1

【DM版本】: v8.1.4.6
【操作系统】:macOS Tahoe26.4.1
【CPU】: Intel
【问题描述】*:
相同代码在 Windows 电脑上就没问题,但是在 mac 上就会报错,不能建立连接,尝试过增加以下参数,也尝试过更换驱动 jar 版本,均无效,但是在 mac 上通过SQLark百灵就能连接,请大佬们帮忙看下,感激不尽。

java.net.preferIPv4Stack java.net.preferIPv6Stack java.net.preferIPv4Addresses java.net.preferIPv6Addresses

代码如下

import java.sql.Connection; import java.sql.DriverManager; public class SimpleTest { public static void main(String[] args) throws Exception { Class.forName("dm.jdbc.driver.DmDriver"); Connection conn = DriverManager.getConnection("jdbc:dm://xxx.xxx.xxx.xxx:5236", "user", "password"); System.out.println("连接成功"); conn.close(); } }

异常堆栈如下

Exception in thread "main" dm.jdbc.driver.DMException: 网络通信异常 at dm.jdbc.driver.DBError.throwException(DBError.java:732) at dm.jdbc.b.a.a(DBAccess.java:232) at dm.jdbc.b.a.c(DBAccess.java:574) at dm.jdbc.driver.DmdbConnection.openConnection(DmdbConnection.java:624) at dm.jdbc.desc.EP.connect(EP.java:159) at dm.jdbc.desc.EPGroup$EPSelector.select(EPGroup.java:345) at dm.jdbc.desc.EPGroup.connect(EPGroup.java:271) at dm.jdbc.driver.DmDriver.do_connect(DmDriver.java:128) at dm.jdbc.driver.DmDriver.connect(DmDriver.java:413) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at test.SimpleTest.main(SimpleTest.java:10) Caused by: java.net.SocketException: Bad file descriptor (Write failed) at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111) at java.net.SocketOutputStream.write(SocketOutputStream.java:155) at dm.jdbc.b.a.c.a(ByteArrayNode.java:154) at dm.jdbc.b.a.a.a(Buffer.java:402) at dm.jdbc.b.a.d(DBAccess.java:301) at dm.jdbc.b.a.a(DBAccess.java:221) ... 10 more
回答 0
暂无回答
扫一扫
联系客服