Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DriverManager.getConnection错误java.sql.SQLException:java.lang.ClassCastException:java.math.BigInteger无法转换为java.lang.Long_Java_Mysql - Fatal编程技术网

DriverManager.getConnection错误java.sql.SQLException:java.lang.ClassCastException:java.math.BigInteger无法转换为java.lang.Long

DriverManager.getConnection错误java.sql.SQLException:java.lang.ClassCastException:java.math.BigInteger无法转换为java.lang.Long,java,mysql,Java,Mysql,我试图学习如何从桌面java应用程序连接到mysql,但是连接方法Class.forName(“com.mysql.jdbc.Driver”) 当我调用它时,它返回以下期望: java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long 我重新安装了J/接头(我无法单独下载,它与安装程序中的其他驱动程序一起提供,我将驱动程序添加为库,并尝试使用

我试图学习如何从桌面java应用程序连接到mysql,但是连接方法
Class.forName(“com.mysql.jdbc.Driver”)

当我调用它时,它返回以下期望:

java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
我重新安装了J/接头(我无法单独下载,它与安装程序中的其他驱动程序一起提供,我将驱动程序添加为库,并尝试使用
com.mysql.jdbc.Connection
,以及
java.sql.Connection
类。这两个类抛出了相同的错误。我寻找了其他类似的问题,但没有一个解决了问题,还有什么可以解决的是吗?我在哪里可以下载旧的J/连接驱动程序?我应该重新安装整个netbeans吗? 我想知道。。。 以下是我的方法,注释了不必要的代码:

public static final String URL = "jdbc:mysql://localhost:3306/escuela";
public static final String USERNAME = "root";
public static final String PASSWORD = "123";

public static Connection getConnection(){
   Connection con = null;
    try{
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection(URL, USERNAME, PASSWORD); //here 
     fails.
        JOptionPane.showMessageDialog(null, "Conexion exitosa.");
    }
    catch(Exception e){
     e.printStackTrace();
    }
    return con;
}

private void btnConectarActionPerformed(java.awt.event.ActionEvent evt) {                                            
     Connection con = getConnection(); //I call the connection here
//        Statement st;
//        ResultSet rs;
//        
//         try{
//         st = con.createStatement();
//         rs = st.executeQuery("SELECT * FROM personas");
//        
//         while(rs.next()){
//             JOptionPane.showMessageDialog(null, rs.getString("nombre") 
//                + " " + rs.getString("telefono"));
//         } 
//       con.close();
//        }
//        catch(Exception e){
//            System.out.println(e);
//        }

}     
整个e.printStackTrace:

java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
    at com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1062)
    at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3556)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2513)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at App.conexion.getConnection(conexion.java:93)
    at App.conexion.btnConectarActionPerformed(conexion.java:70)
    at App.conexion.access$000(conexion.java:19)
    at App.conexion$1.actionPerformed(conexion.java:45)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6535)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6300)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4891)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4713)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    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)
  Caused by: java.lang.ClassCastException: java.math.BigInteger cannot be cast 
  to java.lang.Long
    at 
  com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1007)
    ... 54 more
java.sql.SQLException:java.lang.ClassCastException:java.math.BigInteger不能强制转换为java.lang.Long
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
位于com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1062)
位于com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3556)
位于com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2513)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:822)
位于com.mysql.jdbc.JDBC4Connection(JDBC4Connection.java:47)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:422)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:411)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
位于java.sql.DriverManager.getConnection(DriverManager.java:664)
位于java.sql.DriverManager.getConnection(DriverManager.java:247)
位于App.conexion.getConnection(conexion.java:93)
在App.conexion.btnConconnectarActionPerformed(conexion.java:70)
访问App.conexion.access$000(conexion.java:19)
在App.conexion$1.actionPerformed(conexion.java:45)
在javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
位于javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
在javax.swing.DefaultButtonModel.fireActionPerformed上(DefaultButtonModel.java:402)
在javax.swing.DefaultButtonModel.setPressed中(DefaultButtonModel.java:259)
在javax.swing.plaf.basic.BasicButtonListener.MouseRelease(BasicButtonListener.java:252)
位于java.awt.Component.ProcessMouseeEvent(Component.java:6535)
位于javax.swing.JComponent.ProcessMouseeEvent(JComponent.java:3324)
位于java.awt.Component.processEvent(Component.java:6300)
位于java.awt.Container.processEvent(Container.java:2236)
位于java.awt.Component.dispatchEventImpl(Component.java:4891)
位于java.awt.Container.dispatchEventImpl(Container.java:2294)
位于java.awt.Component.dispatchEvent(Component.java:4713)
位于java.awt.LightweightDispatcher.RetargetMouseeEvent(Container.java:4888)
位于java.awt.LightweightDispatcher.ProcessMouseeEvent(Container.java:4525)
位于java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
位于java.awt.Container.dispatchEventImpl(Container.java:2280)
位于java.awt.Window.dispatchEventImpl(Window.java:2750)
位于java.awt.Component.dispatchEvent(Component.java:4713)
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
在java.awt.EventQueue.access$500(EventQueue.java:97)
在java.awt.EventQueue$3.run(EventQueue.java:709)
在java.awt.EventQueue$3.run(EventQueue.java:703)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
在java.awt.EventQueue$4.run(EventQueue.java:731)
在java.awt.EventQueue$4.run(EventQueue.java:729)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)中
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:105)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
原因:java.lang.ClassCastException:java.math.BigInteger无法强制转换
到java.lang.Long
在
com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1007)
…还有54个

多亏了Cirille Con Morales,多亏了链接和下载说明,我终于成功了。我的Netbeans安装了一个旧的MySql连接器驱动程序(5.xxx)。我下载了(8.0.17)版本,添加到了全局库中,并解决了其他问题,但在谷歌中挖掘我解决了这些问题,这部分必须更改: 我使用的驱动程序有一个字符串url:

public static final String DRIVER = "com.mysql.cj.jdbc.Driver"; 
然后是关于timezine应用程序的错误
public static final String URL = 
"jdbc:mysql://localhost:3306/escuela? 
 useUnicode=true&useJDBCCompliantTimezoneShift
=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
public static Connection getConnection(){
   Connection con = null;

    try{
        Class.forName(DRIVER);
        con = DriverManager.getConnection(URL, USERNAME, PASSWORD);
        JOptionPane.showMessageDialog(null, "Conexion exitosa.");
    }
    catch(Exception e){
     e.printStackTrace();
    }
    return con;
}