大虾,帮忙阿!连数据库失败拉,sos!

litsnake1 2003-04-18 03:48:49
代码如下:
package MyTest;
import java.sql.*;
import java.lang.*;
import java.io.*;

class Test
{
public static void main(String[] args)
{
ResultSet rs=null;
String username="";
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=blackcar";
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from car_color";
rs=stmt.executeQuery(sql);
rs.close();
rs=null;
conn.close();
conn=null;
}
catch(ClassNotFoundException e)
{
System.out.println("Error=" + e.toString());
}
catch (SQLException e)
{
System.out.println("Error=" + e.toString());
}

}
}
编译通过,在运行得时候报错拉:
Error=java.lang.classnotfoundexception: com.microsoft.jdbc.sqlserver.SQLServerDriver

环境和配置:
win2000,sdk1.4和已经安装了sql server的jdbc驱动,并在classpath中设定为:
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar (这是classpath里面的全部内容,是全部东西落)

请问为什么会报错找不到驱动,对了我下载的mssqlserver.setup究竟有几个版本,我怎么听说有什么完全版和单机版,我下载的好像只有2m不到,是那个版本,
还有我要链接的sqlserver数据库是在公司局域网中的数据库,请问这些有关系吗,请各位帮我分析一下出错的原因。
在此先谢谢了
...全文
24 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
DavidBone 2003-04-20
  • 打赏
  • 举报
回复
up
Tianminghui 2003-04-19
  • 打赏
  • 举报
回复
到jbuilder下试试,不用classpath
zez 2003-04-19
  • 打赏
  • 举报
回复
没用过,没遇到过类似情况..
你编译的时候直接指定 classpath 试试
netwebs 2003-04-18
  • 打赏
  • 举报
回复
给你的这段代码就是连本机的啊,你没看到是localhost吗?????远程的我没试过,你先连本机的看行不行
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
litsnake1 2003-04-18
  • 打赏
  • 举报
回复
我试过了,还是不行,
不知道是不是要连本机上sql server才行呢,兄弟们,有完全版的驱动吗
netwebs 2003-04-18
  • 打赏
  • 举报
回复
这是我测试通过的连接本机SQL2000的程序,完全没问题的,如果你的其他设置正确,那肯定能通过,SQL2000中的认证模式要改成混合,而不能是windows模式的,因为用到了sa用户。我用的驱动是2.18M,安装的时候看到说是sp1的,不知道什么意思,可我也忘了是从哪儿下的了,如果你有大信箱,可以发给你。
据说SQL2000的驱动分两种,1M多的只能连本机,还有个6M多的(可惜我没找到),可以连其他的。

import java.sql.*;
public class Test{
public static void main(String args[]){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
conn= DriverManager.getConnection(url,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from stores";
rs=stmt.executeQuery(sql);}
catch(Exception e){
e.printStackTrace();
}
try{
while(rs.next()) {
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception ee){}
}
}

litsnake1 2003-04-18
  • 打赏
  • 举报
回复
to 月亮:
不好意思,我写得只是一个简单得测试类,我也没有用什么服务器,也没有什么project,我并不是用jb做得,我只是用sdk1.4做得测试数据库连接而已

我刚才将把jdbc给卸载了,重新安装了一次,但是安装目录改变为C:\JDBC
然后再将classpath设为:
C:\JDBC\lib\msbase.jar;C:\JDBC\lib\mssqlserver.jar;C:\JDBC\lib\msutil.jar
然后重新运行,很不幸,不知道为什么还是老样子,
我实在不行拉,快要投降拉,各位兄弟帮帮忙,怎么解决这个问题,java得问题还真多阿
netwebs 2003-04-18
  • 打赏
  • 举报
回复
把那3个JAR文件单独COPY到一个没有空格的目录再设置classpath试试,不过我没有试过,应该可以的
computerboy111 2003-04-18
  • 打赏
  • 举报
回复
你把这些jar文件放到你用的应用服务器,比如tomcat的lib文件夹中,如果你觉得这样不妥当,那你就把这几个jar文件拷到你开发项目的WEB-INF/classes/lib文件夹下,如果没有这个目录,你可以自己建一下,重启tomcat就能跑了。如果仅仅是一个类的测试而已,那你可以在你的开发工具中对有数据库操作的project导入相应的jar包,很简单的问题。以后记住,不要老是设置环境变量,有时候会出现莫名其妙的问题
litsnake1 2003-04-18
  • 打赏
  • 举报
回复
那么怎么办,是要改目录还是要改calsspath,然后将他们之中的空格去掉
兄弟请明示
zez 2003-04-18
  • 打赏
  • 举报
回复
目录不要有空格 .
c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\
这样的目录肯定不行!!!
java不认

62,612

社区成员

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

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