我想通过我设置的系统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