【问题标题】:jdbc error java class trying to connect to linux mysql serverjdbc错误java类试图连接到linux mysql服务器
【发布时间】:2013-05-09 11:38:33
【问题描述】:

我的错误!

DBConnection2.java:38: 未报告的异常 java.lang.InstantiationException;必须被抓住或宣布被抛出 Class.forName("com.mysql.jdbc.Driver").newInstance();

问题:.newInstance();

我的代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;
import java.util.*;
import java.sql.*;

import java.util.StringTokenizer;

public class DBConnection2 {

    String url = "jdbc:mysql://<myserver>/<myDatabase>";
    java.sql.Connection con = null;
    String query1;
    Statement stmt;

    public DBConnection2()
    {
        try
        {
//***error here*****  

            Class.forName("com.mysql.jdbc.Driver").newInstance();

 //***error here*****           
        }         
        catch(java.lang.ClassNotFoundException e)
        {   
            System.err.println(e.getMessage());
        } 
        try                                   
        {                                    
            con = java.sql.DriverManager.getConnection(url,"read","read");
            stmt = con.createStatement();
        }
        catch(SQLException ex)
        {
            System.err.println("SQLException:72 appserver " + ex.getMessage());
        }
    }
 }

【问题讨论】:

    标签: mysql jdbc


    【解决方案1】:

    错误正是它所说的。需要处理(捕获或抛出)通过反射进行的新实例实例化。

    也就是说,你没有对新实例做任何事情 - 你没有将它分配给任何东西,在这种情况下,它甚至不需要被调用。

    Class.forName("com.mysql.jdbc.Driver");
    

    就是这样 - 它会修复错误。

    意识到这仍然潜伏在代码中的其他问题 - 其中之一是如果您遇到无法加载类的错误,它将打印出错误消息,但随后它将继续在下一次尝试阻止并在此处再次出错。

    【讨论】:

      猜你喜欢
      • 2016-04-28
      • 1970-01-01
      • 2014-06-20
      • 2012-04-08
      • 1970-01-01
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      相关资源
      最近更新 更多