2013-03-27 47 views
1

我有Java源代碼,而當我運行,將其寫入值java.sql.SQLException:[微軟]找不到[ODBC驅動程序管理器]數據源名稱和默認驅動程序

值java.sql.SQLException:[微軟] [ODBC驅動程序管理器]未找到數據源名稱並且沒有默認驅動程序 我認爲它需要ODBC驅動程序,但我看不到它。 Java源代碼:

import java.awt.Image; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.InputStream; 


import javax.swing.ImageIcon; 
import javax.swing.JButton; 
import javax.swing.JFileChooser; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JOptionPane; 
import javax.swing.JTextField; 
import javax.swing.SwingUtilities; 
import java.sql.*; 

import java.awt.*; 
import java.io.*; 
import javax.swing.*; 



import java.awt.image.*; 
import java.awt.event.*; 



/** 
* This code was edited or generated using CloudGarden's Jigloo 
* SWT/Swing GUI Builder, which is free for non-commercial 
* use. If Jigloo is being used commercially (ie, by a corporation, 
* company or business for any purpose whatever) then you 
* should purchase a license for each developer using Jigloo. 
* Please visit www.cloudgarden.com for details. 
* Use of Jigloo implies acceptance of these licensing terms. 
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR 
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED 
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE. 
*/ 
public class a extends javax.swing.JDialog { 
    private JLabel jLabel1; 
    private JLabel jLabel2; 
    private JLabel jLabel3; 
    private JLabel jLabel4; 

    private JTextField txtPiradi; 
    private JTextField txtSaxeli; 
    private JTextField txtGvari; 
    Image img; 
    File file = null; 
    String path = ""; 
    JTextField text = new JTextField(20); 
    JButton browse, save; 
    Connection conn = null; 
    ResultSet rs = null; 
    Statement stmt = null; 


    /** 
    * Auto-generated main method to display this JDialog 
    */ 
    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       JFrame frame = new JFrame(); 
       wevrtaDamateba inst = new wevrtaDamateba(frame); 
       inst.setVisible(true); 
      } 
     }); 
    } 

    public wevrtaDamateba(JFrame frame) { 
     super(frame); 
     initGUI(); 
    } 

    private void initGUI() { 
     try { 
      { 
       getContentPane().setLayout(null); 
       this.setTitle("\u10d0\u10ee\u10d0\u10da\u10d8 \u10ec\u10d4\u10d5\u10e0\u10d8\u10e1 \u10d3\u10d0\u10db\u10d0\u10e2\u10d4\u10d1\u10d0"); 
       { 
        jLabel1 = new JLabel(); 
        getContentPane().add(jLabel1); 
        jLabel1.setText("\u10e1\u10d0\u10ee\u10d4\u10da\u10d8:"); 
        jLabel1.setFont(new java.awt.Font("Sylfaen",0,12)); 
        jLabel1.setBounds(78, 21, 60, 40); 
       } 
       { 
        jLabel2 = new JLabel(); 
        getContentPane().add(jLabel2); 
        jLabel2.setText("\u10d2\u10d5\u10d0\u10e0\u10d8:"); 
        jLabel2.setFont(new java.awt.Font("Sylfaen",0,12)); 
        jLabel2.setBounds(78, 67, 60, 40); 
       } 
       { 
        jLabel3 = new JLabel(); 
        getContentPane().add(jLabel3); 
        jLabel3.setText("\u10de\u10d8\u10e0\u10d0\u10d3\u10d8 N:"); 
        jLabel3.setFont(new java.awt.Font("Sylfaen",0,12)); 
        jLabel3.setBounds(78, 112, 60, 40); 
       } 
       { 
        jLabel4 = new JLabel(); 
        getContentPane().add(jLabel4); 
        jLabel4.setText("\u10e1\u10e3\u10e0\u10d0\u10d7\u10d8:"); 
        jLabel4.setFont(new java.awt.Font("Sylfaen",0,12)); 
        jLabel4.setBounds(78, 152, 60, 40); 
       } 
       { 
        txtSaxeli = new JTextField(); 
        getContentPane().add(txtSaxeli); 
        txtSaxeli.setBounds(161, 28, 180, 23); 
       } 
       { 
        txtGvari = new JTextField(); 
        getContentPane().add(txtGvari); 
        txtGvari.setBounds(161, 74, 180, 23); 
       } 
       { 
        txtPiradi = new JTextField(); 
        getContentPane().add(txtPiradi); 
        txtPiradi.setBounds(161, 119, 180, 23); 
       } 
       { 
        browse = new JButton(); 
        getContentPane().add(browse); 
        browse.setText("\u10e1\u10e3\u10e0\u10d0\u10d7\u10d8\u10e1 \u10d0\u10e0\u10e9\u10d4\u10d5\u10d0"); 
        browse.setBounds(161, 159, 180, 23); 
        browse.setFont(new java.awt.Font("Sylfaen",0,12)); 
        browse.addActionListener(new ActionListener() { 
         public void actionPerformed(ActionEvent e) { 
          JFileChooser chooser = new JFileChooser(); 
          chooser.addChoosableFileFilter(new ImageFileFilter()); 
          int returnVal = chooser.showOpenDialog(null); 

          if (returnVal == JFileChooser.APPROVE_OPTION) { 
           file = chooser.getSelectedFile(); 
           path = file.getPath(); 
           ImageIcon icon = new ImageIcon(path); 
           // label.setIcon(icon); 
           text.setText(path); 
           repaint(); 
          } 
         } 
        }); 
       } 
       { 
        save = new JButton(); 
        getContentPane().add(save); 
        save.setText("\u10d3\u10d0\u10db\u10d0\u10e2\u10d4\u10d1\u10d0"); 
        save.setBounds(173, 224, 123, 23); 
        save.setFont(new java.awt.Font("Sylfaen",0,12)); 
        save.addActionListener(new ActionListener() { 
         public void actionPerformed(ActionEvent e) { 
          try { 
           File f = new File(path); 
           String saxeli = txtSaxeli.getText(); 
           String gvari = txtGvari.getText(); 
           int piradi = Integer.parseInt(txtPiradi.getText()); 
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
           conn = DriverManager.getConnection("jdbc:odbc:Base","",""); 
           PreparedStatement psmnt = conn 
             .prepareStatement("insert into user('saxeli','gvari','piradi','img') values (?,?,?,?)"); 
           FileInputStream fis = new FileInputStream(f); 
           psmnt.setString(1, saxeli); 
           psmnt.setString(2, gvari); 
           psmnt.setInt(3, piradi); 
           psmnt.setBinaryStream(4, (InputStream) fis, 
             (int) (f.length())); 
           int s = psmnt.executeUpdate(); 
           JOptionPane.showMessageDialog(null, 
             "Inserted successfully!"); 
          } catch (Exception ex) { 
           System.out.print(ex); 
          } 

         } 

        }); 
       } 
      } 
      this.setSize(665, 346); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    protected void clear() { 
     // TODO Auto-generated method stub 

    } 

    class ImageFileFilter extends javax.swing.filechooser.FileFilter { 
     public boolean accept(File file) { 
      if (file.isDirectory()) 
       return false; 
      String name = file.getName().toLowerCase(); 
      return (name.endsWith(".jpg") || name.endsWith(".png") || name 
        .endsWith(".gif")); 
     } 

     public String getDescription() { 
      return "Images (*.gif,*.bmp, *.jpg, *.png)"; 
     } 
    } 

} 
+1

其中是jdbc相關代碼 – 2013-03-27 06:24:37

回答

0

檢查是否有Base ODBC數據源的ODBC數據源面板英寸

+0

不,沒有。 – 2013-03-27 06:30:09

+0

那麼你應該先創建一個。按照這個[post](http://www.razorsql.com/docs/odbc_setup.html)並且首先添加一個名字Base。 – shazin 2013-03-27 06:32:22

相關問題