试试MS SQL2008的JDBC4的驱动方式

      我最近把SQL2005换成了SQL2008,发现原来写的JDBC代码不变依然可以正常使用,而且有些程序实例连驱动都不换都可以正常使用,所以我就产生了一用误解,以为所有原来在SQL2005下写的代码不用任何的变动就可以用了。后来用过一段时间后,发现依然有部分代码运行是有问题的,主要是数据库连接不上。后来我的解决方案就是换成jtds的驱动,也就是把驱动jar的包换了。

driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
url = jdbc:sqlserver://localhost:1433;DatabaseName=数据库名

换成

driver:    net.sourceforge.jtds.jdbc.Driver 
url:    jdbc:jtds:sqlserver://localhost:1433/数据库名
就搞定了。

 

但如果我想用微软的SQL2008官方的驱动呢?

于是我下载了官方的驱动,解压出来后发现有2个文件:

sqljdbc.jar和sqljdbc4.jar

 

微软是这么说的,如果你是JDK6.0直接导入sqljdbc4.jar,以下版本的导入sqljdbc.jar。

所以如果怕麻烦的,两个都导进去也行。

 

以前就听说过jdbc4是可以省略Class.forName的代码,今天试了一下,果然可以。所以现在我的BaseDao就写成这样了。

这里提醒一下,上面的driver和url是没有变的。

不同于SQL2000到SQL2005驱动的升级,两个都发生了变化。以前SQL2000的写法:

driver:  com.microsoft.jdbc.sqlserver.SQLServerDriver
url:   jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=数据库名
与SQL2005是不同的。

 

 

这样写出来后,经测试,可以正常运行,并得到连接。

于是我们会有一些疑惑,就是如果不用Class.forName那程序又是怎么知道用哪个驱动呢?

 

我在网上了解了一下,原来驱动本身基本有一个static的方法,会主动往DriverManager中注册自己。所以我们也就少了这个步骤。

写出来,希望对大家有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值