对于这种错误真的无语了,从刚开始连接数据库的那一刻,就一直被这个错误所困扰。sqlserver4.jar明明都已经复制了,甚至连sqlserver2000需要的驱动都有了(后来我才知道原来我一直加载的都是这个驱动,所以造成了运行有时候会成功的假象,但大多数时候都会出现错误)却还是会出现上述错误。今天才知道,原来是我注册驱动的代码弄错了啊。
原来我一直是照书上用下面的方法注册的(书里介绍的是sqlsrver2000的,老书真是害死人啊!!!)
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
后来才知道这是sqlserver2000版的注册方式,用的2000版的驱动。以前连接数据库的时候,会有时成功(大多数还是有问题的),那是因为我连sqlserver2000所需的三个jar也包含了,如下图
怪不得去了sqljdbc4.jar后还能够连接,正确的sqljdbc4.jar的注册方法如下
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
顺便说下sqlserver2008的 连接
java.sql.Connection conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=“”;“,"user","pass");