2011年7月,微软发布了最新的JDBC驱动:Microsoft JDBC Driver 4.0 for SQL Server Community Technical Preview (CTP),这个驱动在配合JRE1.7使用时要注意以下几点,现在贴出来分享我的经验:
第一点:
这一点相信大家都熟悉的,就是环境设置问题,但还在这里提出来是因为它太重要了,所以有必要将它搞清楚。环境变量path和classpath分别指定了JDK命令搜索路径和Java类路径。设置环境变量path的作用是使DOS操作系统可以找到JDK命令。设置环境变量classpath的作用是告诉Java类装载器到哪里去寻找第三方提供的类和用户定义的类。设置环境变量不是必须的。设置path是为了开发的时候系统可以自动找到JDK命令文件,如果不设置,手工找到也可以(你会这样找吗?)。如果不是必须用第三方类文件,不设置classpath也可以。JVM和其它JDK工具通过依次搜索平台库、库扩展和类路径来查找类(耗时不说,成功率高吗?)。多数应用程序的类库都会充分利用扩展机制,因此,只有想要加载的某个类库没有在当前目录或其分包中,并且不在扩展机制所指定的位置时,就需要设置classpath。
我的博客里就有一篇关于JDK配置的详细过程,现在要指出使用JRE1.7时的注意问题:
就是将classpath里的设置修改为C:\sqljdbc4\enu\sqljdbc4.jar; (这里的C:\sqljdbc4是我释放Microsoft JDBC Driver 4.0 for SQL Server 驱动的安装目录。)
第二点:
文件拷贝问题,这一点不一定要做,但是因为大家各自开发环境不同,做了通常成功。
有四个地方都最好操作一下。在下载回来的Microsoft JDBC Driver 4.0 for SQL Server 解压到安装目录后发现有sqljdbc.jar和sqljdbc4.jar两个重要的类库文件。
1、我们需要将sqljdbc4.jar类库文件拷贝到C:\Program Files\Java\jdk1.7.0\jre\lib\ext目录下。
2、我们需要将sqljdbc4.jar类库文件拷贝到C:\Program Files\Java\jre7\lib\ext目录下。
3、如果是使用Tomcat做服务器(我使用的是Tomcat7),那么我们需要将sqljdbc4.jar类库文件拷贝到C:\apache-tomcat-7.0.11\lib目录下。
4、如果是使用Tomcat做服务器,那么我们需要将sqljdbc4.jar类库文件拷贝到C:\apache-tomcat-7.0.11\webapps\gaofei\WEB-INF\lib目录下(gaofei目录是我的应用,这个路径相信你会看明白。)
注意的是我一直都提到sqljdbc4.jar,如果也把sqljdbc.jar和sqljdbc4.jar都拷在一起的话,这样就算你第一、第二点全都做对了,也会持续出现有“此驱动程序不支持JRE1.7,请使用支持JDBC4.0的sqljdbc4.jar的类库。”的问题。原因是jdk默认地选择了sqljdbc.jar(超晕)。