当前位置: 首页 > 知识库问答 >
问题:

尝试使用 Java 连接到 SQL server 2005 时的 ClassNotFoundException

秦晋
2023-03-14

我对数据库管理相当陌生。我只是尝试连接到数据库,并在命令提示符中检索和显示一个表。数据库不在我的计算机上。我很确定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 \ JDK 1 . 8 . 0 _ 11 \ bin”;" C:\ Program Files \ Microsoft JDBC SQL Server驱动程序4.0 \ sqljdbc _ 4.0 \ enu \ sqljdbc 4 . jar "

代码编译得很好,但当我运行它时,我会得到以下错误:

线程“main”中出现异常Java . lang . classnotfoundexception:com . Microsoft . SQL server . JDBC . SQL server driver at Java . net . URL class loader$1 . run at Java . net . URL class loader$1 . run at Java . security . access controller . doprivileged at Java . net . URL class loader . find class at Java . lang . class loader . load class at sun . misc . launcher$app class loader . load class at Java . lang . class loader . load class at Java . lang class . for name 0 at Java . lang

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

共有3个答案

宰修能
2023-03-14

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

阎淮晨
2023-03-14

在类路径中添加sqljdbc4.jar。

如果您使用的是Eclipse,那么您可以右键单击项目-

希望这有帮助。

孙风畔
2023-03-14

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

如果您是从eclipse运行的,那么在构建路径中添加sqljdbc4.jar

 类似资料:
  • 我试图连接到mysql数据库使用hibernate从cfg文件作为 虽然我的连接字符串、用户名、密码是正确的,并且在其他具有基本jdbc连接的项目中运行良好,但当我使用hibernate尝试它时,我在控制台上遇到了这个错误 是的,数据库服务器已启动并运行,但来自此Hibernate应用程序的连接被拒绝

  • 本文向大家介绍PHP连接SQLServer2005的方法,包括了PHP连接SQLServer2005的方法的使用技巧和注意事项,需要的朋友参考一下 1.修改php.ini将extension=php_mssql.dll的注释删除保存。 修改php.in将mssql.secure_connection = Off改为mssql.secure_connection = On。 2.下载连接2005的n

  • 我不擅长java,还在尝试如何通过jdbc驱动程序将java连接到mysql(xampp),有人知道我为什么总是出错吗? 以下是控制台结果 我已经创建了数据库并插入了两个数据,其中一个是“username=rod1,password=rod”

  • 我正在尝试使用Spring连接到支持SSL的Cassandra。我已收到密钥库和信任库文件及其各自的密码。使用DevCenter工具,我能够使用这些文件和凭据连接到远程数据库。然而,当我尝试使用java进行连接时,我不断遇到以下异常: 客户端身份验证似乎未正确通过。 使用以下代码:

  • 我是php服务器端和mysql的新手,有了一些基本的知识,最近安装wamp服务器和一些php文件和数据库创建,我正在尝试将我的android应用程序连接到运行mysql数据库的本地主机(就像一些webservice一样)。 因此,在浏览器中,我在url地址空间中键入,它将显示wampserver主页 但当我键入时,它显示了某个错误页面,我将附加错误页面的屏幕截图 这是屏幕 因此任何人都可以告诉我为

  • 我正在尝试连接到另一个集成身份验证的盒子上的SQLServer 2008。我的环境包括64位Java7、64位Eclipse和64位Windows 7。我使用了Microsoft提供的JDBC驱动程序。使用32位Java一切正常。但是,使用64位Java,我得到了以下信息: “警告:无法加载sqljdbc_auth.dll原因:C:\程序文件 (x86)\适用于 SQL Server\sqljdb