日期:2014-05-17  浏览次数:20891 次

JDBC 连接sql server 2005老是失败怎么办?恳请高手帮忙。。
代码如下。纠结了一个晚上了。。。
package com.test.jdbcDemo2;
import java.sql.*;
public class test2 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=scott","sa","****");
ps=ct.prepareStatement("select * from emp");
rs=ps.executeQuery();
while(rs.next())
{
String name=rs.getString(2);
float sal=rs.getFloat(6);
int deptno=rs.getInt(8);

System.out.println(name+" "+sal+" "+deptno);
}
}
catch(Exception e){
e.printStackTrace();

}
finally{
try {
if(rs!=null)
rs.close();
if(ps!=null)
ps.close();
if(ct!=null)
ct.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}

控制台抛出的异常如下:
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at com.test1.Test1.main(Test1.java:14)

三个jdbc驱动的jar包全添加了,但总是抛出异常,快崩溃了!希望高手们帮帮小弟一把,谢了!


------解决方案--------------------
先把你的架包全部删掉,重新加入sqljdbc4.jar
在删掉在tomcat的文件,clear工程。在运行试试
------解决方案--------------------
没引入包嘛 太明显了
------解决方案--------------------
恩对没有导入包的
------解决方案--------------------
找不到包,要么你的包没导入,要么就是你导入的包被优先级更高的包覆盖掉了,例如试试把tomcat下面的xml-apis.jar删掉看看
------解决方案--------------------
楼主你好,从你的代码可以看出你没引入包(或者楼主不小心没粘上,嘿嘿),另外引入的包是优先级的,和可能被优先级高的包覆盖了,你搜搜下 你引入的包 看看是不是这种情况
------解决方案--------------------
楼主 你好 java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
根据这句话的提示:找不到com.microsoft.sqlserver.jdbc.SQLServerDriver 这个类
我分析了下 :有两种可能
第一种是包没导进去,
第二种是驱动名写错了
------解决方案--------------------
右键项目,build path,从外部把包导进去。
------解决方案--------------------
楼主你可以在你的方法去点你要使用的driver类,看写出来后能不能导入这个类。
看导入的类是不是和你希望的类一致
这样就很容易判断是不是包没引进来,或者室引错包了
------解决方案--------------------
探讨

引用:

没引入包嘛 太明显了

三个jar包-msbase.jar,mssqlserver.jar,msutil.jar都引了