我在eclipse里链接sql server2005的时候用test测试显示链接成功,但是在访问我创建的库里的表时运行结果却出现java.lang.ClassNotFoundException,这是怎么回事?
看下是什么类没有找到,是不是jdbc驱动类没有导入
直接把源码和异常贴出来呗
有jar包没有导入。。。
把你的代码贴出来吧,要不范围太广了
也有可能是jdbc链接写的不对,还是直接代码出来,好分析
最好让大家看看你的代码。。。
最好让大家看看你的代码。。。
jdbc的jar包没配置好
检查一下数据库用户的权限或表的拥有者,尝试用户在其它方式下能否访问到表数据.
package pkg;
import java.sql.*;
public class Main {
public static void main(String[] args) {
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=Test";
String userName="sa"; //默认用户名
String userPwd="123456"; //密码
try{
Class.forName(driverName);
Connection
dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
System.out.println("连接成功!"); //如果连接成功,控制台输出“连接成功!”
}catch(Exception e){
System.out.println("连接失败!");
}
}
}
这个运行结果是链接成功;
package com.task22;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC {
public void getStudentById(String id){ //根据学号查询成绩
String driverClass="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //连接微软 sqlserver数据库的驱动jar包
String connectUrl="jdbc:sqlserver://localhost1433;DatabaseName=welcomestudent";
String userName="sa";
String userPass="123456";
Connection con=null;
Statement stmt=null;
try{
Class.forName(driverClass);//加载,注册Jdbc驱动程序
}
catch(ClassNotFoundException ce){
ce.printStackTrace();
}
try{
con = DriverManager.getConnection(connectUrl,userName,userPass);//建立数据库连接
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//建立Statement对象
ResultSet rs=null;
String sqlStr="select * from student where id="+id;
rs=stmt.executeQuery(sqlStr);
if(rs.next()){
System.out.print(rs.getString(1)+",");
System.out.print(rs.getString(2)+",");
System.out.print(rs.getString(3)+",");
System.out.print(rs.getString(4));
}
rs.close();
stmt.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
finally{
try{
if(con!=null||!con.isClosed()){
con.close();
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
public static void main(String args[]){
JDBC jdbc=new JDBC();
jdbc.getStudentById("2013154");
}
}
这个运行出现的是java.lang.ClassNotFoundException
dbConn不为null才算连接成功 估计是jar的问题
估计确实jdbc驱动!!
检查一下下面那个原因:
1 所需要的支持类库放错了地方,并没有放在类路径(CLASSPATH环境变量)里面。
2 使用了重复的类库,且版本不一致。导致低版本的被优先使用。
3 类名错了,一般是使用Class.forName的时候,手工指定了类名的情况。
4 没有导入纯JAVA驱动包。
对应的解决方案:
1 确认你的类库在系统的CLASSPATH下面,如果是Tomcat,则可以放在tomcat/lib/目录下面。
2 删除重复的类库,只保留最新的。
3 尽可能不使用这种编译器无法为你检查的方式。