用Java连接sqlserver数据库时候几个jar包有啥区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Java连接sqlserver数据库时候几个jar包有啥区别?相关的知识,希望对你有一定的参考价值。
用Java连接sqlserver数据库时候几个jar包有什么区别?
我自己总结的知识拿出来与大家分享一下吧..当然可能还有什么不对的地方,希望指出:***msbase.jar、mssqlserver.jar、msutil.jar(支持sql2000):
早期的连接数据库Jar包:在连接数据时候需要手动导入驱动包。即手动导入class.forName(驱动名称);
***SQL Server JDBC Driver 2.0----sqljdbc.jar和sqljdbc4.jar
新版JDBC连接数据库Jar包,支持sql2005,sql2008
Sqljdbc.jar
使用 sqljdbc.jar 类库时,应用程序必须首先按class.forName(驱动名称)注册驱动程序。Jdk1.6以上版本不推荐使用.
Sqljdbc4.jar
在 JDBC API 4.0 中,DriverManager.getConnection 方法得到了增强,可自动加载 JDBC Driver。因此,使用sqljdbc4.jar 类库时,应用程序无需调用 Class.forName 方法来注册或加载驱动程序。调用 DriverManager 类的 getConnection 方法时,会从已注册的 JDBC Driver 集中找到相应的驱动程序。sqljdbc4.jar 文件包括“META-INF/services/java.sql.Driver”文件,后者包含.sqlserver.jdbc.SQLServerDriver 作为已注册的驱动程序。现有的应用程序(当前通过使用 Class.forName 方法加载驱动程序)将继续工作,而无需修改。
注意: sqljdbc4.jar 类库要求使用 6.0 或更高版本的 Java 运行时环境 (JRE)。 参考技术A SQL2000的要3个 文件msbase.jar mssqlserver.jar msutil.jar
sql2005以后用sqljdbc4.jar(jdk6支持)或者sqljdbc.jar(jdk5)
java连接sqlserver的各个坑(菜鸟亲测)
作为一个菜鸟,刚开始用java连接sqlserver的时候,用的时间不短,
可以说解决了一个又出现一个,所以我觉得有必要把我的经验分享给大家。
(因为我踩了大部分的坑)
第一个坑:加载驱动。java要连接数据库就需要驱动,我们去网上下载一个
sqljdbc.jar就行了。下载后该怎么做呢。
这个时候,我们在项目里面添加文件,然后把这个包粘贴进去,然后再右键这个包
添加构建路径,这样就可以了。这个时候你以为搞定了,可是后面还有很多坑。
第二坑:“ Failed to load the sqljdbc_auth.dll”,对于这个,我们只需要去下载
sqljdbc_auth.dll这个文件就行了,可是我下了一个,发现里面各种流氓,
于是我就去csdn下了一个,还是比较好用。下载完你就把他赋值到C盘下windows
目录下就行了。
你以为解决了,然而并没有。
第三个坑:数据库的验证方式,作为菜鸟,可能刚开始安装sqlserver的时候
没有注意验证方式。但是在java连接的时候,这是有影响的。
我就是这个菜鸟,刚开始我选的是Windows验证,然而在连接的时候显示
“该登录名来自不受信任的域,不能与Windows身份验证一起用”
我百度了一下,找了不少,网上有同样的问题提问,有人回答说“验证方式混用”
看了这个,验证方式混用我懂,但是该怎么解决呢。网上回答的好像不多。
我总结了一下方法:第一步用windows身份验证进入后,
右键点击属性
将验证身份模式切换到下面那个。
然后
在登录名选中sa用户名,然后修改密码。
接下来就是第四个坑,修改密码后重新登录,密码是对的可是就是登录不了。
我反复试了一下,最后解决了
右键,然后选中重新启动,然后就可以启动了。
大一狗初学,不对请见谅。
以上是关于用Java连接sqlserver数据库时候几个jar包有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
sqlserver在用c语言连接操作的时候,有没有提供类似mysql的API如mysql_quer