java.lang.ClassNotFoundException:com.sqlserver.jdbc.Driver

时间:2018-01-14 12:44:40

标签: java sql-server jdbc

我正在尝试使用Java应用程序连接MS SQL Server。这是我正在使用的代码:

public static void main(String[] args)  {
    try {  
        Class.forName("com.sqlserver.jdbc.Driver");                                   
        Connection con=DriverManager.getConnection("jdbc:sqlserver:<SERVER>","user","password");  
        Statement stmt = con.createStatement();  
        ResultSet rs = stmt.executeQuery("SELECT TOP 1 [MsgTextArabic] FROM 
     [FactBulkSMS].[dbo].[Messages] order by SendingDateTime desc");

        while(rs.next())  
            System.out.println(rs.getInt(1)+""+rs.getString(2)+""+rs.getString(3));
    }
    catch(Exception e) { 
        System.out.println(e);
        e.printStackTrace();
    }

运行此代码时,抛出以下异常:

java.lang.ClassNotFoundException: com.sqlserver.jdbc.Driver

java.lang.ClassNotFoundException: com.sqlserver.jdbc.Driver
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at test.main(test.java:13)

2 个答案:

答案 0 :(得分:0)

Exception抱怨,Class.forName("com.sqlserver.jdbc.Driver");无法找到JDBC驱动程序。

根据文档,您需要添加将驱动程序放入ClassPath变量的路径。从Eclipse可以通过将.jar文件导入项目并引用它们来完成。

来源和进一步信息:https://docs.microsoft.com/en-US/sql/connect/jdbc/using-the-jdbc-driver

答案 1 :(得分:0)

似乎JVM找不到类com.sqlserver.jdbc.Driver,这很可能是因为JAR没有包含在项目的类路径中。

由于您使用的是eclipse,我建议您通过Eclipse的“构建路径”添加JAR。

首先从Microsoft文档HERE检查您的设置中哪个是正确的JAR 然后,您可以从Maven repo

下载JAR

然后在Eclipse中,右键单击您的项目&gt;&gt;构建路径&gt;&gt;配置构建路径。选择Libraries选项卡,然后在右侧列中单击“Add External JARs”