![](/img/trans.png)
[英]“java.net.SocketException: Connection reset by peer: socket write error” How can I solve it
[英]How can I solve this Java Jdbc connection Error?
我寫了一個簡單的Java Jdbc連接程序。 我已經把 MySQL 連接器 jar。 我還將類路徑放在環境變量中。 仍然無法解決此連接錯誤。
這是我的代碼:
public class check {
public static void main(String[] args) {
System.out.println("-------- MySQL JDBC Connection Demo ------------");
try
{
Class.forName("com.mysql.cj.jdbc.Driver");
}
catch (ClassNotFoundException e) {
System.out.println("MySQL JDBC Driver not found !!");
return;
}
System.out.println("MySQL JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/company","root","");
System.out.println("SQL Connection to database established!");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
return;
} finally {
try
{
if(connection != null)
connection.close();
System.out.println("Connection closed !!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Output:
-------- MySQL JDBC Connection Demo ----------
MySQL JDBC Driver Registered!
Connection Failed! Check output console
Connection closed !!
替換以下行
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
return;
}
和
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
}
這樣您就可以找到問題的根本原因。 你當前的代碼只是在吃那些重要的信息。
在旁注中,刪除以下殘留代碼:
try
{
Class.forName("com.mysql.cj.jdbc.Driver");
}
catch (ClassNotFoundException e) {
System.out.println("MySQL JDBC Driver not found !!");
return;
}
Class.forName("com.mysql.cj.jdbc.Driver")
不需要,因為 Z82269BZ9B71AB4A2178326
異常包含有用的信息。 通過捕獲它們並打印“錯誤”。 你正在消除這些信息。
這不是您處理異常的方式。 這是規則:記錄它/顯示錯誤並沒有處理它。 所以,不要。
只需在您的主要方法上聲明“拋出異常”並刪除所有嘗試/捕獲的東西。 使代碼更具可讀性,現在您可以查看錯誤的全部詳細信息。
如果您必須捕獲這些異常,那么當您真的不知道該怎么做時,catch 塊的正確代碼是: throw new RuntimeException("Unhandled exception", e);
- 這仍然可以保證您看到所有錯誤消息和其他詳細信息。
一旦你這樣做了,錯誤信息就會告訴你出了什么問題。
To make the connection with JDBC you need to import the MySQL connector jar file into your project then the JDBC will make a connection with the database.
如果您已成功安裝 MySql,那么對於您獲得的這個特殊異常,只有少數原因。 ( Class.forName("com.mysql.cj.jdbc.Driver")
不會對您的代碼產生任何影響)這些原因是 -
- 您尚未創建數據庫
company
不在您的 MySql 數據庫中。- MySql 客戶端的用戶名無效。
- 用戶
root
的密碼不正確(您沒有提供)- MySql 服務器未在您的系統中啟動以連接客戶端(登錄前啟動)對於 windows 您可以運行此文件
\MySQL\MySQL Server 8.0\bin\mysqld.exe
以啟動它。
請檢查所有這些可能性。
我已經用我的數據庫嘗試了你的代碼,它工作正常,只需檢查可能的原因。
我明白了.. 我的 wamp Mysql 服務器 url 是 localhost:3308 .. 但我在我的程序中寫了 3306 ......終於解決了..謝謝大家的幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.