我正在尝试从服务器在客户端计算机中执行Java应用程序。但是,当我尝试打开此应用程序时,该应用程序无法执行。这是我的班级Conexion:
package Conexion;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class Conexion {
private static final String database = "recursos_humanos";
private static final String login = "root";
private static final String password = "1234";
private static final String url = "jdbc:mysql://localhost:3306/"+database;
public static Connection connection;
public static Statement stm;
public static ResultSet rs;
public static PreparedStatement ps;
public static Connection getConnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(url,login,password);
if(connection != null)
System.out.println("Base de Datos " +database +" lista.");
} catch (ClassNotFoundException ex) {
System.out.println(ex);
JOptionPane.showMessageDialog(null, "No se pudo coenctar: "+ex);
}catch(SQLException ex){System.out.println(ex);}
return connection;
}
}
请帮助我,谢谢。
我进行了更改,我擦除了“ String url =” jdbc:mysql:// localhost:3306 /“ + database;”
并放置服务器的IP地址;“字符串url =” jdbc:mysql://10.6.12.247:3306 /“ +数据库;” 但结果如下:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection timed out: connect
STACKTRACE:
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Ventanas.VentanaPrincipal.listar(VentanaPrincipal.java:387)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at Ventanas.VentanaPrincipal.<init>(VentanaPrincipal.java:76)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at Ventanas.VentanaPrincipal$11.run(VentanaPrincipal.java:356)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
at java.net.Socket.connect(Socket.java:538)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.net.Socket.<init>(Socket.java:434)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.net.Socket.<init>(Socket.java:244)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at java.security.AccessController.doPrivileged(Native Method)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at Conexion.Conexion.getConnection(Conexion.java:34)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at Ventanas.VentanaPrincipal.listar(VentanaPrincipal.java:385)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
at Ventanas.VentanaPrincipal.<init>(VentanaPrincipal.java:76)
at Ventanas.VentanaPrincipal$11.run(VentanaPrincipal.java:356)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
** END NESTED EXCEPTION **
Last packet sent to the server was 1 ms ago.
告诉我一下。谢谢。
您的应用程序正在尝试建立与localhost的jdbc连接,以确保没有mysql正在运行
只需按以下步骤更改您的代码:
url =“ jdbc:mysql:// IPofYourServer:3306 /” +数据库;
●在代码中将localhost替换为服务器的IP地址。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句