SQLException:在Java中没有为jdbc找到合适的驱动程序

时间:2016-01-08 16:23:25

标签: java jdbc

我找到了许多类似问题的答案,但我仍然无法解决我的问题。

我的连接代码是:

import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;

public class TransformData
{
public static void main(String args[])
{
    String url = "jdbc:sqlserver://SQLFULL:1433;databaseName=BA_ELTRUN;";
    Connection dbcon;
    Statement stmt;
    ResultSet rs;
    Scanner input = new Scanner(System.in);

    try
    {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    }
    catch(java.lang.ClassNotFoundException e)
    {
        System.out.print("ClassNotFoundException: ");
        System.out.println(e.getMessage());
    }

    try
    {
        dbcon = DriverManager.getConnection(url,"username","password");
        stmt = dbcon.createStatement();
    }
     catch(SQLException e)
     {
         System.out.print("SQLException: ");
         System.out.println(e.getMessage());
     }
}
}

当我运行时,我得到以下异常:

ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver SQLException: No suitable driver found for jdbc:sqlserver://Konstantina\SQLFULL; databaseName=BA_ELTRUN

sqljdbc.jar和sqljdbca.jar在此目录中:C:\ Program Files \ Microsoft SQL Server JDBC Driver 2.0 \ Sqljdbc_2.0 \ Enu 我是否必须将它们移到另一个目录中?

2 个答案:

答案 0 :(得分:0)

您需要将SQLServerDriver库添加到项目依赖项

答案 1 :(得分:0)

问题是,当您通过Class.forName调用注册驱动程序时,它应该已经在类路径上。您正在接收的ClassNotFoundException意味着sqljdbc.jar和sqljdbca.jar库不在您的类路径中,因此您需要确保它们包含在内。有关其他详细信息和确切步骤以确保库位于类路径中,请参阅以下内容: https://msdn.microsoft.com/en-us/library/ms378526(v=sql.110).aspx