目录
文中储备知识:
1.JDBC
2.两种常见的JDBC
(1)JDBC-ODBC桥方式
(2)纯Java方式
3.DSN
4.JDBC操作的步骤
一、JDBC配置问题
1.JDBC-ODBC桥方式
2.纯Java方式
二、名字不匹配
(1)数据库名
(2)数据库对应的用户名
(3)表名
(4)表名中的属性名
(5)与ODBC方法相关的数据源名
三、数据库连接代码
JDBC是Java数据连接技术(Java Database Connection)的简称,提供连接各种常用数据库的能力。
•JDBC驱动由数据库厂商提供–在个人开发与测试中,可以使用JDBC-ODBC桥连方式–在生产型开发中,推荐使用纯Java驱动方式
使用JDBC-ODBC桥方式连接数据库
– 将对 JDBC API 的调用,转换为对另一组数据库连接 API 的调用– 优点:可以访问所有 ODBC 可以访问的数据库– 缺点:执行效率低、功能不够强大
使用纯Java方式连接数据库
– 由 JDBC 驱动直接访问数据库– 优点: 100% Java ,快又可跨平台– 缺点:访问不同的数据库需要下载专用的 JDBC 驱动
但是,经过实践操作,大多数同学都觉得纯Java方式连接数据库的成功率更高些,使用JDBC-ODBC桥常连接失败(不知道是不是操作流程的问题)。
- 数据源的定义:
数据源的英文是DSN(Data Source Name),它是一种用来提高数据库连接性能的常规手段。
- 数据源的作用:
“数据库建立好之后,要设定系统的 DSN(数据来源名称),才能让网页可以知道数据库所在的位置以及数据库相关的属性。使用DSN的好处还有,如果移动数据库档案的位置,或是换成别种类型的数据库,只要重新设定 DSN 就好了,不需要去修改原来使用的程序。”
1、 加载驱动程序
2、 连接数据库
3、 操作数据库
4、 关闭数据库,释放连接
参考资料:
https://blog.csdn.net/lxw1844912514/article/details/100028770
https://www.cnblogs.com/cainame/p/10339294.html
https://blog.csdn.net/cuiwjava/article/details/20202859
(1)配置ODBC桥的流程中出问题
A.数据源(DSN)配置
在电脑中的 “控制面板——系统和安全——管理工具——数据源(ODBC)” 中配置ODBC桥的数据源
private Connection conn;
conn=DriverManager.getConnection("jdbc:odbc:DSN名称","用户名","密码");
因为在配置数据源的过程中,需要在
“用户输入登录ID和密码的SQL Server 验证”下
输入在数据库创建的用户及其对应密码
因为在配置数据源的过程中,需要选择该用户操作的数据库
数据源的配置过程可参考:
https://blog.csdn.net/qq_41187714/article/details/103494367
(1)JDBC驱动包与数据库不匹配
比如 Microsoft SQL Server 2008 R2数据库可以下载sqljdbc4驱动包
(2)添加驱动包的方法不正确
可以右键项目名——Build Path——Config Build Path...——Java Build Path ——Libraries——Add JARs或AddExternal JARS——OK
(3)驱动包路径不对
常见于拷贝了别人的项目到自己的电脑里
修改驱动包路径的方法:在项目中重新加载驱动包,即可以重新添加驱动包
添加jar包方法可参考:
https://www.cnblogs.com/yhmdjl/p/6485303.html
注:
JAR(Java Archive)是Java的一种压缩文档格式
主要是数据库中的设置与代码中的不匹配
比如 数据库中的表名是tblXyInfo,而 Java代码中写的是却是tblXyxx
比如 数据库中的学院信息表 tblXyInfo 中有代码XyId、名称XyName、状态XyState、添加时间XyTime这几个属性。
注意:
(1)大小写的区分
(2)“同义词”
比如:学院信息表
tblXyInfo ——table xue yuan information
tblXyxx ——table xue yuan xin xi
除了编译中报的语法错误外,还可能存在如下问题:
1.没有实例化对象
常会编写一个xxxHelper.java 然后再实例化这个类的对象。
private OdbcHelper helper;//在类中定义成员
//private MssHelper helper;
helper = new OdbcHelper();//在类的方法中实例化这个成员
//helper = new MssHelper();
注:
OdbcHelper.java中存放 ODBC桥连接数据库的代码。(需配置数据源)
MssHelper.java中存放 直连数据库的代码。(需加载驱动包)
本篇文章将会持续更新....