ورود

View Full Version : مشکل اتصال به دیتابیس



soroosh081
چهارشنبه 08 شهریور 1396, 11:30 صبح
String connection = "jdbc:mysql://%s:%s/%s?useUnicode=true&characterEncoding=UTF-8";
conn = DriverManager.getConnection(String.format(connecti on, "x.x.x.x", "3306", "schoolController"), "user", "passwd");
System.out.println("OK");
st = conn.createStatement();

یه هفته هست هس با کد مشکل دارم اصلا به دیتابیس متصل نمیشه.
خطا:

Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce ption: 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.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:41 1)
at com.mysql.jdbc.SQLError.createCommunicationsExcept ion(SQLError.java:1117)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:355)
at com.mysql.jdbc.ConnectionImpl.coreConnect(Connecti onImpl.java:2461)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(Co nnectionImpl.java:2498)
at com.mysql.jdbc.ConnectionImpl.createNewIO(Connecti onImpl.java:2283)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:41 1)
at com.mysql.jdbc.ConnectionImpl.getInstance(Connecti onImpl.java:404)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonReg isteringDriver.java:317)
at java.sql.DriverManager.getConnection(DriverManager .java:664)
at java.sql.DriverManager.getConnection(DriverManager .java:247)
at schoolcontroller.tools.DataBase.mysql.DataAccess.c onnect(DataAccess.java:45)
at schoolcontroller.tools.DataBase.mysql.DataAccess.m ain(DataAccess.java:40)


هم اسم دیتابیس هم ای پی سرور و هم یوزرنیم و پسورد درسته و به راحتی با نرم افزار Mysql Workbench میتونم به سرور متصل بشم.

نسخه MySQL Server :

5.7.19-0ubuntu0.16.04.1

vahid-p
چهارشنبه 08 شهریور 1396, 20:48 عصر
طبق چیزهایی که گفتید طبیعتا باید جواب بده و چیز خاصی به ذهنم نمیرسه. شماره پورت mysql تون مطمئنید همین 3306 (پیشفرض) هست؟
همچنین در برخی موارد گفتن اگر mysql server تون برای مدت طولانی بیکار بمونه هم چنین exception ای میده.

سرویس mysql server رو ریستارت کنید و دوباره تست کنید (بعد از اینکه start شد، چند بار تست کنید). همچنین تو کدتون حتما connection رو ببندید.
اگر جواب نگرفتید، متاسفانه ایده دیگه ای ندارم.