现在我只设置了path=C:\j2sdk1.4.2\bin;C:\j2sdk1.4.2\lib 并且jdbc复制到了C:\j2sdk1.4.2\lib下面 程序提示 F:\java\jdbctest>java testjdbc java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver at java.net.URLClassLoader$1.run(URLClassLoader.java:199) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:141) at testjdbc.main(testjdbc.java:9) 找不到驱动程序路径。
public class testjdbc {
public static void main(String[] args){
String driverClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=NorthWind";
String uid = "sa";
String pwd = "aaa";
try{
Class.forName(driverClassName);
}catch(Exception e){
e.printStackTrace();
System.err.println("找不到驱动程序路径。");
System.exit(0);
}
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select * from categories";
try{
conn = DriverManager.getConnection(url,uid,pwd);
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
System.out.println("table categories:");
System.out.println("id\t\tname");
while(rs.next()){
String id = rs.getString("CategoryID");
String name = rs.getString("CategoryName");
System.out.println(id + "\t\t" + name);
}
}catch(SQLException e){
e.printStackTrace();
System.err.println("连接数据库失败.");
System.exit(0);
}finally{
if(rs != null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
System.err.println("不能关闭数据库连接");
System.exit(0);
}
}
if(ps != null){
try{
ps.close();
}catch(SQLException e){
e.printStackTrace();
System.err.println("不能关闭数据库连接");
System.exit(0);
}
}
if(conn != null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
System.err.println("不能关闭数据库连接");
System.exit(0);
}
}
}
System.out.println("数据库连接测试成功.");
}
} 这是我的测试脚本;F:\java\jdbctest>javac testjdbc.javaF:\java\jdbctest>java testjdbc
Exception in thread "main" java.lang.NoClassDefFoundError: com/microsoft/jdbc/ba
se/BaseDriver
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at testjdbc.main(testjdbc.java:10)
我把path,classpath.java_home都设置成C:\javasdk1.4;C:\javasdk1.4\bin;C:\javasdk1.4\lib;
如果把中间的那段减掉只留System.out.println("数据库连接测试成功."); 程序能正常显示
然后什么也别改了
把驱动3个包放在jdk/lib目录里面!
并且jdbc复制到了C:\j2sdk1.4.2\lib下面
程序提示
F:\java\jdbctest>java testjdbc
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at testjdbc.main(testjdbc.java:9)
找不到驱动程序路径。
一、下载SQLSERVER2000的jdbc驱动程序。在微软站点就有这个驱动程序:Window操作系统http://www.uncj.com/upload/files/ms_jdbc_setup.exe http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/setup.exe Unix操作系统 Mssqlserver.tar http://download.microsoft.com/download/3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/mssqlserver.tar 二、安装JDBC 执行ms_jdbc_setup.exe可执行文件,一切只需要点击下一步,至到出现finish按钮,完成安装。注:(1) ms_JDBC_setup默认安装路径为:c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC(2)此版(Version 2.2.0022)本仅支持Microsoft SQL Server 2000 Driver for JDBC (3)安装目录\lib\下的三个jar文件即是我们要的JDBC驱动核心 msbase.jar mssqlserver.jar msutil.jar 三、将以上(3)中指的三个jar文件加入到环境变量中去classpath: d:\webserver\lib\msbase.jar;d:\webserver\lib\mssqlserver.jar;d:\webserver\lib\msutil.jar注:也可以省事的将以上三个文件拷贝至你的jvm机所在的JAVA_HOME\jre\lib\ext目录下,不过不建议这么做。 四、测试jsp文件:<%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <html> <body> <% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=haiguan"; 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 xt_user"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%> 您的第一个字段内容为:<%=rs.getString(1)%> 您的第二个字段内容为:<%=rs.getString(2)%> <% }%> <%out.print("数据库操作成功,恭喜你");%> <% rs.close(); stmt.close(); conn.close(); %> </body> </html> 五、注意事项1. 要保证你的Sql服务是启动状态2. 在Sql 的管理器中能够使用sa或其它用户正常登录;(有些人在安装sql时用了nt用户管理模式,这里可能会有一定问题)3. 第一次配置好环境变量最好能重启一下电脑4. 注意JVM和DataBase的启动顺序:先启动DataBase,再启动JVM机。注:在停止Web服务器后,再重启动,中间最好能有10秒以上的间隔。5. 注意操作系统的网络连通性 A.启动了Tcp/IP服务 B.配置了相关IP地址,有些人机器可能用的是自动分配IP或有配置IP时,但网络不通可能也找不到IP6. 有些机器在调试明最好能将(四)中的连接地址localhost改成数据库服务器的IP,这也是要注意5的原因。
(以上资料来自internet,只为交流,希望对楼主有帮助)
即在最前面加上.;
同时设置classpath后重启系统,如果还是不行的话,将你的三个jar文件移到java_home\jre\lib\ext中
对不起哦,我刚才说话太过分了!
你写的例子也挺好的,实在抱歉!
例子来自internet
不是我写的