在Jcreator下java连接SQL2008失败,数据库可以用telnet 127.0.0.1 1433登陆,数据库也可以用localhost登陆

也可用sa用户名和密码登陆,将jdbc4.jar的路径卸载CLASS_PATH中了,代码如下:
import java.sql.*;import java.io.*;
public class DBConnction { private static String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static String url="jdbc:sqlserver://localhost:1433;integratedSecurity=true;DatabaseName=JLSS";
private static String user="sa";
private static String password="970250685";

public static Connection getConnection() {
Connection con;
try{
Class.forName(driver);
con=DriverManager.getConnection(url,user,password);
return con;
}catch(ClassNotFoundException e){
System.out.println(e.getMessage() + " SQLError!");
}catch(SQLException e){
System.out.println(e.getMessage() + " Error!");
}
return null;
}
public static void main (String[] args) {
Connection con=getConnection();
if(con!=null)
System.out.print("Success!\n");
else
System.out.print("Failed!\n");

}
}

结果为:
--------------------Configuration: <Default>--------------------com.microsoft.jdbc.sqlserver.SQLServerDriver SQLError!
Failed!

Process completed.
上面少贴了 import java.sql.*;
--------------------Configuration: <Default>--------------------

com.microsoft.jdbc.sqlserver.SQLServerDriver SQLError!
Failed!

Process completed.

问题很明显,你没有把SQLServer的数据库驱动加到你的这个项目里面,你在getConnection方法中写了try - catch 块,catch 的ClassNotFoundException和SQLException,那么就是说你的意思是,如果程序发生ClassNotFoundException,就在控制台打印SQLError,发生SQLException就在控制台打印Error,而你的程序在控制台输出SQLError,也就是说程序发生了ClassNotFoundException.

ClassNotFoundException是什么异常呢?字面意思:
Class : 类
Not Found : 没有找到

其意思是java虚拟器没有找到所需要的类,什么类呢?就是java程序连接SQLServer的数据库驱动类,也就是com.microsoft.jdbc.sqlserver.SQLServerDriver这个类,是哪一句话发生的异常呢?
是Class.forName(driver);这一句,这个方法的意思是,你要java虚拟机把名字为driver的类加载到内存中,如果名为driver的类不存在,java虚拟机就会抛出ClassNotFoundException这个异常,而你定义的driver是什么呢?正是com.microsoft.jdbc.sqlserver.SQLServerDriver,因为你没有把这个类加到你的项目中(也就是类路径中),所以java虚拟机找不到,所以抛出ClassNotFoundException,被你写的程序catch住了,所以打印出了SQLError追问

能不能说一下解决的方法,谢了

追答

你没有把SQLServer数据的JDBC驱动加上项目上,去微软官方网站下载SQLServer的JDBC驱动,在后添加到项目中就OK了


驱动地址:http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&;id=11774


下载这个,下载下来双击,这个exe会解压出一个文件夹

去这个sqljdbc_4.0下面的目录里面找到sqljdbc4.jar


把这个jar文件加到项目中

追问

下载好了,具体在Jcreator中咋弄?麻烦了,给你追加

追答

好久不用Jcreator,依稀记得一点
如果是英文版,应该在菜单上找project -> 找子菜单 ->project setting 然后会弹出一个窗口,在选项卡里面有一个required library,然后点add,路径选你解压的jdbc的jar,然后确定就OK了

如果是中文版的,就是 项目 -> 项目属性 - > 弹出一个窗口,找"必须的类库"选项卡 点添加,然后确定

你先试试吧,实在就用百度hi,hi我

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-25
你JCreator少了那个数据库驱动吧
第2个回答  2012-09-24
楼上正解!
没有导入相关jar包
第3个回答  2012-09-24
仔细看了一下 ,帮不上你什么忙 哈 sorry