2015-01-07 155 views
-1

我是Java初學者,在SQL命令中只有有限的知識,比如說5或6個命令... 我試圖將我的Java項目與訪問數據庫「aman.accdb」在我的筆記本電腦上使用ODBC .. 該數據庫有一個名爲「選項卡」的表.. 我使用的Windows 7 64位電腦與Java JDK的64位安裝在它。而且我也使用ms office 2013,這也是一個64位產品。java.sql.SQLException找不到合適的jdbc驅動程序:odbc:man

當我執行代碼時出現錯誤「java.sql.SQLException找不到適合jdbc:odbc:man的驅動程序」 我發佈了下面導致錯誤的示例代碼。我已經刪除了不需要的行,例如佈局設置,以及所有行,因爲它爲頁面運行。

請提供解決方案!

package sample; 

import java.sql.*; 

import javax.swing.JOptionPane; 

public class als extends javax.swing.JFrame { 

    public als() throws SQLException { 

     initComponents(); 

     try 
     { 
     con=DriverManager.getConnection("jdbc:odbc:man") ; 
     }catch(Exception e) 
     { 
      JOptionPane.showMessageDialog(null, e); 
     } 
    } 
    private void initComponents() { 

     jButton1 = new javax.swing.JButton(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     jButton1.setText("Check"); 
     jButton1.addActionListener(new java.awt.event.ActionListener() { 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       jButton1ActionPerformed(evt); 
      } 
     }); 



    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {           
     try 
     { 
      st=con.createStatement(); 
      String s=("insert into tab ('senthil',12)"); 
      st.execute(s); 
      JOptionPane.showMessageDialog(rootPane,"Saved"); 
      this.setVisible(false); 
      }catch(Exception e) 
      { 
       JOptionPane.showMessageDialog(rootPane,e); 
      } 
    }           


    static Connection con; 
    static Statement st; 
    static ResultSet rs; 
    private javax.swing.JButton jButton1;     
} 

我才知道,在64位操作系統發生此問題OLY ..如果我安裝32位操作系統將這個不會發生。

注意:我得到的錯誤是一個例外,我通過catch()的一個消息框顯示的部分在構造函數als()中。

+4

是的!真的有必要? – JamesB

+0

您正在使用哪個Java版本? JDBC-ODBC橋驅動程序不再包含在Java 8中。 –

+0

我正在使用JDK 1.8.0 –

回答

0

試試這個,我相信它是因爲你沒有指定驅動程序。這是用於MS Access數據庫。

public als() throws SQLException { 

    initComponents(); 

    try 
    { 
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    con=DriverManager.getConnection("jdbc:odbc:man") ; 
    }catch(Exception e) 
    { 
     JOptionPane.showMessageDialog(null, e); 
    } 
} 
+3

從Java 6/JDBC 4開始,不需要使用'Class.forName'。 –

相關問題