为什么找不到 com.microsoft.jdbc.sqlserver.SQLServerDriver

adaoke_captain 2006-03-18 12:19:36
我在Servletl里调用一个DBConnect类的getConnect()方法以取得连接代码如下:
package afu.db;

import java.sql.*;
import java.util.Properties;
import java.io.*;

import com.microsoft.jdbc.sqlserver.SQLServerDriver;

public class DBConnect
{
private static Connection conn = null;
private static Properties prop = new Properties();

public static Connection getConnection()
{
try
{
String driverClass = null;
/*-------------------------------------------------------
*connectString.properties该文件内为一组键值对,
*包含了 jdbcDriver,userName,password,jdbc url 等信息。
*将该文件内容型成流,加载到prop中。
*--------------------------------------------------------*/

System.out.println("DBConnect ");
prop.load(DBConnect.class.getResourceAsStream("connectString.properties"));
System.out.println("porp.load connectstring.properties");

// prop.load(DBConnect.class.getResourceAsStream("connectstring.properties"));
/*------------------------
*如果driverClass键存在于
*prop中返回真
*------------------------*/
if(prop.containsKey("driverClass"))
{
System.out.println("if prop.containsKey(driverClass)");
/*------------------------------
*搜索prop中指定键param对应的值
*------------------------------*/
driverClass=prop.getProperty("driverClass");
System.out.println(driverClass);
}
System.out.println("driverClass");

System.out.println("Class.forName");
********* Class.forName(driverClass).newInstance();

String url = prop.getProperty("url");
System.out.println(url);
String userName = prop.getProperty("userName");
System.out.println(userName);
String passWord = prop.getProperty("passWord");
System.out.println(passWord);

conn = DriverManager.getConnection(url,userName,passWord);
System.out.println("getconnection(url,userName,passWord)ed");

}
catch(ClassNotFoundException ex)
{
ex.printStackTrace();
}
catch(SQLException ex)
{
ex.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
catch(InstantiationException e)
{
e.printStackTrace();
}
catch(IllegalAccessException e)
{
e.printStackTrace();
}
return conn;
}
}

当执行到用*******标记的那一行时抛出意外:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

我明明在编辑工具里把com.microsoft.jdbc.sqlserver.SQLServerDriver所在的包的路径加入进来了.
JAVA文件里也 import com.microsoft.jdbc.sqlserver.SQLServerDriver;

大虾们帮我找找原因
...全文
949 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
HengHuan 2006-03-22
  • 打赏
  • 举报
回复
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
conn = DriverManager.getConnection(url, username, password);

试一下这种连接方法,可能是你的代码出错,也有可能是驱动不能用
adaoke_captain 2006-03-22
  • 打赏
  • 举报
回复
zengtang(隋唐英雄) 怎么看啊?
zengtang 2006-03-22
  • 打赏
  • 举报
回复
先看看你数据库服务器的端口有没有打开(默认为1433)
adaoke_captain 2006-03-22
  • 打赏
  • 举报
回复
我已经打过SP3补丁了,怎么还是有
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
错误啊?
adaoke_captain 2006-03-22
  • 打赏
  • 举报
回复
zengtang(隋唐英雄)
我在SQLSERVER2K的SQL Server属性配置里的常规-->网络配置-->TCP/IP属性-->默认端口 改成1433
就不报错
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis hing socket 了.
大概就是这个原因了.
不明白打过SP3补丁了,还要手工更改端口号.
adaoke_captain 2006-03-21
  • 打赏
  • 举报
回复
我明白了是要把三个*.jar加到 webapps\AFUMS\WEB-INF\lib里.
chyx413332087 2006-03-20
  • 打赏
  • 举报
回复
要把你安装的jdbc驱动器中的..lib目录下有三个*.jar文件加 到进来
tygker 2006-03-19
  • 打赏
  • 举报
回复
CLASSPATH可能有问题,这句import com.microsoft.jdbc.sqlserver.SQLServerDriver可以不要
不是把com.microsoft.jdbc.sqlserver.SQLServerDriver所在的包的路径加入进来了,完整的ClassPath应该是驱动所在包的路径+驱动jar文件
interpb 2006-03-19
  • 打赏
  • 举报
回复
jar包的话 要把jar本身所在的路径写入ClassPath

C:\xx.jar 写入类路径
adaoke_captain 2006-03-19
  • 打赏
  • 举报
回复
怎么没人帮我啊?

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧