2014-01-20 123 views
0

我想連接到本地主機上的sql數據庫。 用下面的代碼:連接到sql數據庫問題

try { 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    } catch(ClassNotFoundException e) { 
     System.out.println("JdbcOdbcDriver wasn't found"); 
     e.printStackTrace(); 
    } 


    Connection connection = null; 
    try { 
     connection = DriverManager.getConnection("jdbc:mysql://localhost/testBase", "root", ""); 

     Statement statement = connection.createStatement(); 
     ResultSet res = statement.executeQuery(""); 

    } 
    catch(SQLException e){ System.out.println(e); }  
    finally { 
     if(connection != null) { 
      try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } 
     } 
    } 

我有2個與此相關的代碼問題:

  1. 我使用的是在sun.jdbc.odbc.JdbcOdbcDriver驅動程序,因爲它似乎,這是唯一可用的上我的系統,但是我已經讀過它是一個Windows組件...有沒有一種方法使其與平臺無關(或已經)?
  2. 第二收集輸出

    值java.sql.SQLException:發現 JDBC沒有合適的驅動程序的:mysql://本地主機/

    這是很煩人的,我不似乎能夠找到一種工作方式...

感謝您的幫助!

回答

2

生成jar時,可以包含它的所有依賴關係。
因此,您可以使用任何需要的驅動程序,並在爲應用程序生成jar時添加它。

現在你是跨平臺的。

關於問題#2,這是因爲您沒有lib文件夾下的mysqLconnector。
您可以在這裏下載:http://dev.mysql.com/downloads/connector/j/

就包括它,如果你使用IDE,你可以找一個選項「包括JAR /文件夾」,並添加它,然後,再次嘗試;如果您不在IDE中,則必須將其設置爲classpath