[英]DriverManager.getConnection() doesn't work with OpenJDK
我有一个可执行的 jar 实用程序,可以进行数据库查询。 它在 Oracle Java 上运行良好。 但是,如果我用 OpenJDK 运行它,它就无法获得数据库连接。 奇怪的是没有错误或异常。 它只是停止运行该方法。
我正在连接到 SQL Server。 我将“getDbConnection 2”输出到控制台,但之后没有任何反应。 没有错误,什么都没有。 我不明白为什么这适用于标准 Java,但不适用于 OpenJDK。
这是代码:
protected Connection getDbConnection()
{
Connection conn = null;
consoleWrite("getDbConnection 1");
try {
final String server = from_server.getText();
final String port = from_port.getText();
final String dbName = from_dbname.getText();
String url = String.format("jdbc:sqlserver://%s:%s;databaseName=%s", server, port, dbName);
String user = from_user.getText();
final String pwd = from_pass.getText();
consoleWrite("getDbConnection 2");
conn = DriverManager.getConnection(url, user, pwd);
if (conn == null) {
consoleWrite("conn not found");
}
consoleWrite("getDbConnection 3");
}
catch (SQLException se) {
handleError(se);
}
catch (ClassNotFoundException ce) {
handleError(ce);
}
catch(Exception e) {
handleError(e);
}
return conn;
}
解决方案:
我需要一个更新的 JDBC 驱动程序。 更新到 mssql-jdbc-9.4.0.jre8.jar 后,它也适用于 OpenJDK 11.0.2。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.