我想通過我設置的系統DSN連接到我的MySql數據庫之一。 DSN使用我的SSL證書,用戶名,密碼,端口正確設置,並且數據庫填充DSN數據庫下拉列表並通過「測試」連接。我似乎無法在Java中獲得連接。我花了2天時間瀏覽一些關於Stack的例子,但他們都提到了一個Access數據庫並使用了Java 8中不再可用的JDBC-ODBC橋。我嘗試使用與Jackcess一起使用的UCanAccess,但我沒有得到任何地方。下面的代碼是我在過去幾個小時裏一直在修補的東西。我通常使用PHP連接到MySql數據庫,並以JSON或直接使用JDBC驅動程序接收結果,但對於此項目,兩者都不是真正的選項。有任何想法嗎。我很感激幫助。通過DSN的Java MySql連接
//String username = "<username>";
//String password = "<password>";
//String database = "<database_name>";
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
//Connect to cllients MySql Database
Connection conn = DriverManager.getConnection("jdbc:ucanaccess:" + database);
//Call VerifyLabel(<MAC>,<MODEL>); Call provided client
CallableStatement cStmt = conn.prepareCall("{CALL verify(?, ?)}");
//MAC
cStmt.setString(1, "mac address");
//model
cStmt.setString(2, "model");
cStmt.execute();
//Getting results from "Status" column
ResultSet rs1 = cStmt.getResultSet();
//Iterate results and print.
while (rs1.next()) {
System.out.println(rs1.getString("Status"));
}
//Close connection conn
rs1.close();
} catch (SQLException ex) {
Logger.getLogger(CambiumStoredTest.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(CambiumStoredTest.class.getName()).log(Level.SEVERE, null, ex);
}
使用MySQL驅動程序:
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql:"+ database);
也試過:
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+ database);
誤差MySQL驅動程序:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
UCanAccess僅用於Access。我不希望它能夠與MySQL一起工作,就像我不希望MySQL JDBC驅動程序能夠與SQL Server數據庫交談一樣。你能否解釋爲什麼使用MySQL JDBC驅動程序不是一個選項? – 2014-10-06 20:17:11
MySQL驅動程序不會創建任何JDBC-ODBC橋連接。您應該首先檢查您想使用哪種類型的驅動程序。正如@LukeWoodward指定的那樣,DSN與ACCESS和Sql Server一起工作。 – 2014-10-06 20:27:23
我最初使用MySql JDBC Driver,但沒有獲得連接。在Visual C中編寫了另一部分應用程序,我們通過在安裝MySql驅動程序後創建一個System DSN來進行設置。此應用程序成功將數據發佈到MySql數據庫。所以,DSN也可以使用MySql。我最初使用MySql JDBC驅動程序,但認爲由於SSL證書,設置DSN會更容易。 – 2014-10-06 20:35:43