尝试使用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”文件夹中
- Netbeans FileReader FileNotFound文件在文件夹中时出现exception?
- springSecurityFilterChain nullPointer Exception
- ProGuard打破了JavaFX应用程序
- 使用JDBC连接到MS SQLServer时出现ClassNotFoundException
- 加载JDBC驱动程序中的classNotFoundException
- 使用Guice 2.0的ClassNotFoundException
- 如何设置rmiregistry使用的类路径?
- java.lang.ClassNotFoundException:org.apache.commons.fileupload.FileItemFactory
- 带有已部署的动态Web项目的WebSphere ClassNotFoundException
- ClassNotFoundException与NoClassDefFoundError
- 在代码上获取ClassNotFoundException:“Class.forName(”com.microsoft.sqlserver.jdbc.SqlServerDriver“);”