当我想使用 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 配置。
我已经正确创建了 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 配置。