尝试使用Java连接到SQL Server 2005时出现ClassNotFoundException

我是数据库管理的新手。 我只是想连接到数据库并在命令提示符中检索并显示一个表。 数据库不在我的电脑上。 我很确定url是问题所在。 代码:

import java.io.*; import java.sql.*; class transfer{ //driver and DB URLs final static String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; final static String DB_SQL = "jdbc:microsoft:sqlserver://localhost:1433;" + "database=DataDB;" + "user=sa;" + "password=1234"; //Database Username and password final static String user1 = "sa"; final static String pass1 = "1234"; static ResultSet rs; public static void main(String args[]) throws SQLException, ClassNotFoundException{ Connection conn_sql = null; Statement stmt_sql = null; //Statement stmt_ora = null; //Register JDBC driver Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //Open Connection System.out.println("Connecting to SQL database..."); conn_sql = DriverManager.getConnection(DB_SQL, user1, pass1); //Execute Query String sql_query; System.out.println("Creating statement for SQL..."); stmt_sql = conn_sql.createStatement(); sql_query = "Select * from attendancesummary"; rs = stmt_sql.executeQuery(sql_query); System.out.println("SQL table details"); System.out.println("Creating statement for SQL..."); while(rs.next()){ //Retrieve data int cno = rs.getInt("CardNo"); int in_time = rs.getInt("entry"); int out_time = rs.getInt("Exittm"); String name = rs.getString("Name"); int date = rs.getInt("TrDate"); //Display data System.out.print("Employee ID: "+cno); System.out.print("\tName: "+name); System.out.print("\tDate:"+date); System.out.print("\tEntry: "+in_time); System.out.print("\tExit: "+out_time); } } 

}

数据库名称是DataDB,我想要检索和显示的表是attendancesummary。 我已将路径设置为“C:\ Program Files \ Java \ jdk1.8.0_11 \ bin”;“C:\ Program Files \ Microsoft JDBC Driver 4.0 for SQL Server \ sqljdbc_4.0 \ enu \ sqljdbc4.jar”

代码编译好..但是当我运行它时,我收到以下错误:

线程“main”中的exceptionjava.lang.ClassNotFoundException:java.net.URLClassLoader中的com.microsoft.sqlserver.jdbc.SQLServerDriver java.net.URLClassLoader $ 1.run $ java。java.security.AccessController.doPrivileged at java。位于sun.misc.Launcher的java.lang.ClassLoader.loadClass的net.URLClassLoader.findClass位于传输时java.lang.Class.forname的java.lang.Class.forname0的java.lang.ClassLoader.loadClass的$ AppClassLoader.loadClass。主要

我真的迷路了。 任何帮助,将不胜感激!

这意味着在运行代码时, CLASSPATH中缺少sqljdbc4.jar 。 如果从命令行运行此命令,则在java命令的-cp开关中添加sqljdbc4.jar的路径。

如果从eclipse运行,则在构建路径中添加sqljdbc4.jar

在类路径中添加sqljdbc4.jar。

如果您正在使用Eclipse,那么您可以右键单击项目 – >属性 – > java构建路径。 转到库并单击添加外部jar。 然后添加jdbc驱动程序jar。

希望这可以帮助。

您必须将JDBC驱动程序添加到项目类路径中:例如,如果您使用Eclipse,则将jar放在“lib”文件夹中