版权声明:转载请注明出处 https://blog.csdn.net/doubleguy/article/details/89798841
演示使用jdbc-odbc桥连方式操作数据库test(student)
大体模式是这样的:
1.加载驱动(作用是把需要的驱动程序加入内存)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
2.得到连接[指定连接到哪个数据源,用户名和密码]
如果配置数据源时选择的时Windows nt验证,则不需要用户名和密码
ct = DriverManager.getConnection("jdbc:odbc:student");
3.创建Statement或者PreparedStatement(Statement用处是:主要用于发送sql语句到数据库)
sm = ct.createStatement();
4.执行(crud,创建数据库,备份数据库,删除数据库等)
5.关闭资源,顺序是谁先创建,则后关闭
/**
* 演示使用jdbc-odbc桥连方式操作数据库test(student)
*/
import java.sql.*;
public class SqlTest {
public static void main(String[] args){
Connection ct = null;
Statement sm = null;
try{
//1.加载驱动(作用是把需要的驱动程序加入内存)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//2.得到连接[指定连接到哪个数据源,用户名和密码]
//如果配置数据源时选择的时Windows nt验证,则不需要用户名和密码
ct = DriverManager.getConnection("jdbc:odbc:student");
//3.创建Statement或者PreparedStatement
//Statement用处是:主要用于发送sql语句到数据库
sm = ct.createStatement();
//4.执行(crud,创建数据库,备份数据库,删除数据库等)
//演示添加一条数据到student表
//executeUpdata可以执行cud操作(添加,删除,修改)
int i = sm.executeUpdate("insert into student values('大佬',666)");
if(i==1){
System.out.println("添加ok");
}else{
System.out.println("添加error");
}
}catch (Exception e){
e.printStackTrace();
}finally{
//关闭资源,顺序是谁先创建,则后关闭
try {
if(sm!=null) {
sm.close();
}
if(ct!=null) {
ct.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
运行遇到如下错误:
搜索得到原因是:
jdk从1.8开始,删除了jdbc-odbc桥,所以odbc的驱动是用不了的,建议重新安装jdk1.7或者更低的版本
然而,现在供应商已经不提供jdk1.8及更低的jdk版本了,他成了无效的jdk,也就是说jdbc-odbc的桥连方式基本完全被淘汰。emmm,亏我查了好多资料并实验,这是我最终得到的结果。。。所以,还是使用纯jdbc方式链接数据库把。