当我想使用 Jdbc Odbc Bridge 驱动程序将数据插入 mysql 时,我没有选择数据库错误,

when i want to insert data into mysql using JdbcOdbc Bridge driver, i get no database selected error,

我已经正确创建了 dsn 并且代码清晰简单,但我最终遇到了这个错误。 table 结构与程序相同

   import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    public class Insert {
        public static void main(String[] args) {
            try {
                Class.forName("sun.jdbc.odbc.JdbcOdbc");
                Connection con=DriverManager.getConnection("jdbc:odbc:mysqldsn","root","filimon");
                Statement st=con.createStatement();
                int i=st.executeUpdate("insert into emp values(3,'cat')");
                if (i>=1) {
                    System.out.println("inserted successfully");
                } else {
                    System.out.println("failed");
                }
                st.close();
                con.close();
            } catch (Exception e) {
                System.err.println(e);
            }
        }
    }

我得到 java.sql.SQLException:[MySQL][ODBC 5.3(a) 驱动程序][mysqld-5.7.13-log]未选择数据库

错误提示您尚未 select编辑数据库。但是 select数据库的离子将在 ODBC 配置中的某处。

因此您可以做两件事:要么将 ODBC 配置修复到 select 数据库,要么(更好的选择)您可以停止使用 ODBC 并使用 MySQL JDBC driver.

使用以下驱动程序

Class.forName("com.mysql.jdbc.Driver");  
Connection con=DriverManager.getConnection(  
"jdbc:mysql://localhost:3306/dbname","uname","passwd"); 

如果您仍在使用 ODBC,请告诉我您的 DSN 配置。