我遇到了一個非常奇怪的問題,我不知道如何處理。無法連接到Java的MySql與屬性文件
我的應用程序連接到MySQL數據庫獲取數據,直到昨天我有連接的詳細信息中的代碼硬編碼,和一切工作正常。
IE:
connect = DriverManager.getConnection("jdbc:mysql://10.0.0.188:3306", "dudug", "qazqaz");
我已決定把我的應用程序更加模塊化,並有一個選項來改變/設置連接的詳細信息,並將其存儲在一個屬性文件。
現在,當我使用下面的代碼:
Class.forName("com.mysql.jdbc.Driver");
// setup the connection with the DB.
String user = props.getProperty("SqlUserName");
String pass = props.getProperty("SqlPassword");
String port = String.valueOf(props.getProperty("SqlPort"));
String addr = props.getProperty("SqlAddress");
connect = DriverManager.getConnection("\"jdbc:mysql://" + addr + ":" + port + "\",\"" + user + "\",\"" + pass + "\"");
,我得到一個錯誤信息是這樣的:
java.sql.SQLException: No suitable driver found for "jdbc:mysql://10.0.0.188:3306?user=dudug&password=qazqaz"
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
調試時,無論是輸出連接字符串的是相同:
「jdbc:mysql://10.0.0.188:3306」,「dudug」,「qazqaz」
只有當我使用模塊化字符串時出現問題。
任何人有什麼想法?
Thnaks,
戴夫。
UPDATE:
當使用此:
DriverManager.getConnection("jdbc:mysql://" + props.getProperty("SqlAddress") + ":" + String.valueOf(props.getProperty("SqlPort"))
+ "," + props.getProperty("SqlUserName") + "," + props.getProperty("SqlPassword"));
或本:
String user = props.getProperty("SqlUserName");
String pass = props.getProperty("SqlPassword");
String port = String.valueOf(props.getProperty("SqlPort"));
String addr = props.getProperty("SqlAddress");
connect = DriverManager.getConnection("jdbc:mysql://" + addr + ":" + port + "," + user + "," + pass);
它只是卡住,發佈錯誤消息。
你需要在你的類路徑中的MySQL連接。從http://dev.mysql.com/downloads/connector/j/5.1.html下載它 – 2014-10-02 08:55:13
這是什麼意思? – 2014-10-02 08:55:36
是否將mysql連接器庫添加到庫文件中? – CodeMonkey 2014-10-02 08:56:04