Jdbc Odbc驱动程序错误

时间:2013-08-13 20:50:33

标签: jdbc odbc driver

jdbc.odbc.JdbcOdbcDriver我遇到了一个小问题。

它给了我以下错误:

java.sql.SQLException: Driver does not support this function

代码:

saverec.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        saverecclick = 1;
        if (saverecclick == 1) {
            try {
                field2.setEnabled(false);
                field3.setEnabled(false);
                field4.setEnabled(false);
                field5.setEnabled(false);
                field6.setEnabled(false);
                table.setEnabled(true);
                MainFrame();

                String myDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
                String myUrl = "jdbc:odbc:DLFishHunter";
                con = DriverManager.getConnection("jdbc:odbc:DLFishHunter");
                stmt = con.createStatement();

                String query = " insert into Data (User, Datum, Location, Kind, Size , Bait)" + " values (?, ?, ?, ?, ?, ?)";
                Calendar calendar = Calendar.getInstance();
                java.sql.Date startDate = new java.sql.Date(calendar.getTime().getTime());
                PreparedStatement preparedStmt = con.prepareStatement(query);
                String suser = field0.getSelectedItem().toString();
                preparedStmt.setString(1, suser);
                preparedStmt.setDate(2, startDate);
                preparedStmt.setString(3, field3.getText());
                kinddb = field4.getSelectedItem().toString();
                preparedStmt.setString(4, kinddb);
                preparedStmt.setString(5, field5.getText());
                preparedStmt.setString(6, field6.getText());
                frame.dispose();
                preparedStmt.execute();

                try {
                    Class.forName(myDriver);
                } catch (ClassNotFoundException ex) {
                    Logger.getLogger(DBConnect.class.getName()).log(Level.SEVERE, null, ex);
                }
                Connection con = (Connection) DriverManager.getConnection(myUrl, "root", "");
            } catch (SQLException ex) {
                Logger.getLogger(DBConnect.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
});

问题出现在上面的代码中。

1 个答案:

答案 0 :(得分:0)

几乎无法分辨出代码snippit的错误。您可能想要尝试的一些事情

1)通常连接字符串包含用户名和密码。再次,了解您正在使用的特定数据库将有所帮助。请参阅this link,例如ODBC连接字符串。

2)从getConnection(myUrl, "root", "")开始,我猜你已经设置了没有密码的用户root。由于您使用的是ODBC,我假设您正在使用Sql Server,它设置为使用Windows用户作为登录,或者使用名为“sa”的用户 - 您可以使用这些凭据通过命令行/ GUI登录吗? / p>