jdbc错误java类试图连接到linux mysql服务器

时间:2013-05-09 11:38:33

标签: mysql jdbc

我的错误!

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());
        }
    }
 }

1 个答案:

答案 0 :(得分:0)

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

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

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

就是这样 - 它将解决错误。

意识到这仍然存在潜伏在代码中的其他问题 - 其中一个问题是如果你有错误,无法加载它的类,它将打印出一条错误信息,但它会继续在接下来尝试阻止并再次出错