[英]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.