com.mysql.jdbc.exceptions.jdbc4.Communications我正在努力讓我的數據庫與我的Java程序對話。有人可以使用JDBC給我一個快速而又臟的示例程序嗎?我收到了一個相當驚人的錯誤:Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1122)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2260)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:787)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)測試文件的內容:import com.mysql.jdbc.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.
ResultSet;import java.sql.SQLException;import java.sql.Statement;public class SqlTest {
public static void main(String [] args) throws Exception {
// Class.forName( "com.mysql.jdbc.Driver" ); // do this in init
// // edit the jdbc url
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/projects?user=user1&password=123");
// Statement st = conn.createStatement();
// ResultSet rs = st.executeQuery( "select * from table" );
System.out.println("Connected?");
}}
4 回答

翻閱古今
TA貢獻1780條經驗 獲得超5個贊
當Java出堆時我抓住了這個異常。如果我嘗試在RAM中放入許多數據項 - 首先我捕獲“ 通信鏈接失敗”和下一個“ OutOfMemoryError ”。
我記錄了它,我減少了內存消耗(刪除1/2數據),一切正常。

慕無忌1623718
TA貢獻1744條經驗 獲得超4個贊
這是最好的解決方案,
Connection con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/DBname", "root", "root"); Connection con = DriverManager.getConnection( "jdbc:mysql://192.100.0.000:3306/DBname", "root", "root");
將Localhost替換為您的IP地址

一只斗牛犬
TA貢獻1784條經驗 獲得超2個贊
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
如果數據庫連接長時間處于空閑狀態,則會發生此異常。
這個空閑連接返回true,connection.isClosed();
但如果我們嘗試執行語句,那么它將觸發此異常,因此我建議使用數據庫池。
添加回答
舉報
0/150
提交
取消