当前位置: 首页 > 面试题库 >

java.sql.SQLException:找不到适用于jdbc:microsoft:sqlserver的驱动程序

吕向阳
2023-03-14
问题内容

当我尝试运行此程序时,出现此异常。这是微软的例子之一。我已经通过项目属性将sqljdbc4.jar添加到了netbeans的类路径中,以便进行编译和运行。我还测试了可以使用下面的import语句找到该类-编译期间没有错误,因此它必须找到jar。

可能与sqldbc4.jar引用的dll或某些sql dll相关吗?

这是确切的例外,下面是确切的代码(密码除外)。

例外:

run:
java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=HealthCareDatabase
Error Trace in getConnection() : No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=HealthCareDatabase
Error: No active Connection
    at java.sql.DriverManager.getConnection(DriverManager.java:602)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at javaapplication1.Connect.getConnection(Connect.java:35)
    at javaapplication1.Connect.displayDbProperties(Connect.java:50)
    at javaapplication1.JavaApplication1.main(JavaApplication1.java:23)
BUILD SUCCESSFUL (total time: 1 second)

码:

 package javaapplication1;
import com.microsoft.sqlserver.jdbc.SQLServerDriver;

import java.*;

public class Connect {

    private java.sql.Connection con = null;
    private final String url = "jdbc:microsoft:sqlserver://";
    private final String serverName = "localhost";
    private final String portNumber = "1433";
    private final String databaseName = "HealthCareDatabase";
    private final String userName = "larry";
    private final String password = "xxxxxxx";

    // Constructor
    public Connect() {
    }

    private String getConnectionUrl() {
        return url + serverName + ":" + portNumber + ";databaseName=" + databaseName ;
    }

    private java.sql.Connection getConnection() {
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            con = java.sql.DriverManager.getConnection(getConnectionUrl(), userName, password);
            if (con != null) {
                System.out.println("Connection Successful!");
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Error Trace in getConnection() : " + e.getMessage());
        }
        return con;
    }

    public void displayDbProperties() {
        java.sql.DatabaseMetaData dm = null;
        java.sql.ResultSet rs = null;
        try {
            con = this.getConnection();
            if (con != null) {
                dm = con.getMetaData();
                System.out.println("Driver Information");
                System.out.println("\tDriver Name: " + dm.getDriverName());
                System.out.println("\tDriver Version: " + dm.getDriverVersion());
                System.out.println("\nDatabase Information ");
                System.out.println("\tDatabase Name: " + dm.getDatabaseProductName());
                System.out.println("\tDatabase Version: " + dm.getDatabaseProductVersion());
                System.out.println("Avalilable Catalogs ");
                rs = dm.getCatalogs();
                while (rs.next()) {
                    System.out.println("\tcatalog: " + rs.getString(1));
                }
                rs.close();
                rs = null;
                closeConnection();
            } else {
                System.out.println("Error: No active Connection");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        dm = null;
    }

    private void closeConnection() {
        try {
            if (con != null) {
                con.close();
            }
            con = null;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws Exception {
        Connect myDbTest = new Connect();
        myDbTest.displayDbProperties();
    }
}

问题答案:

你的URL应该为jdbc:sqlserver://server:port;DatabaseName=dbname
,类名称应类似于com.microsoft.sqlserver.jdbc.SQLServerDriver Use MicrosoftSQL Server JDBC Driver 2.0



 类似资料:
  • 问题内容: 我的Java程序(我的第一个程序)似乎位于标准代码的以下行: 我收到以下信息: 但是,在运行Java应用程序时,我提供了正确的位置(我认为); 任何想法如何进行? 太感谢了 问题答案: 任何想法如何进行?太感谢了 是。我看到两个主要问题。一,除非有充分的理由,否则不要使用来运行程序。如果这样做,可能会在以后引起您的重大痛苦。 其次,您的类路径看起来不正确。jar文件位于其上。第一部分应

  • 问题内容: 我是jdbc的初学者…运行此代码时遇到问题: 该代码使用appache derby,为了使其正常工作,我首先启动了derby服务器。 然后启动程序 我将类路径设置为C:\ Program Files \ Sun \ JavaDB \ lib \ derby.jar 而且我总是得到那个例外 java.sql.SQLException:找不到适用于jdbc:derby:// localho

  • 由于某些原因,当我试图创建一个web服务以将id、name和idno插入mysql数据库时,下面的代码不会执行。我已经添加了MYSQL JDBC驱动程序-MYSQL连接器库,但我得到这个错误“severe:java.sql.SQLException:No appital Driver found for JDBC:MYSQL://localhost:3306/web”。我看过一些人的答案,但似乎没

  • 我已经检查了这个问题的所有消息,但它是一样的,它不起作用。我必须用java连接到sql服务器2008数据库,我已经添加了sqljdbc4.jar但什么也没有。 我做的不好,如果你还需要什么,请告诉我。 我收到这条消息: Java语言sql。SQLException:未找到适合jdbc的驱动程序:sqlserver://xxx.xxx.xxx.xxx:1433;databaseName=ccis;用

  • 我正在尝试在我的本地tomcat服务器中部署一个基于Spring的Web应用程序。以下是我的申请详情: > 基于Spring的web应用程序(war) Tomcat 6服务器 Java 1.6 Oracle数据库 以下是按jdbc配置列出的: 配置仅适用于雄猫设置。 我还在我的 /lib 文件夹中添加了 ojdbc6.jar,ojdbc14.jar 我毫无问题地部署了我的war文件。但是当我的应用

  • null servet是一个简单的“Hello World”servlet,只是为了测试连接。