JDBC(Microsoft SQL Server Management Studio):找不到适用于url的驱动程序

问题描述 投票:0回答:1

我正在尝试连接到ESXI服务器上托管的现有数据库,似乎无法正确找到驱动程序。

我使用的代码如下:

new ConnectToDb('jdbc:sqlserver:sqltest3:CI-ESXI', 'USER', 'PASSWORD', 'com.microsoft.sqlserver.jdbc.SQLServerDriver')

    ConnectToDb(String url, String user, String password, String driver) {
        Class.forName(driver)
        database =  groovy.sql.Sql.newInstance(url, user, password, driver)
    }

我收到以下错误:

线程“主”中的异常java.sql.SQLException:没有合适的驱动程序找到jdbc:sqlserver:sqltest3:CI-ESXI

而且,我尝试了以下Java风格的代码:

void connect(String url, String user, String password, String driver) throws SQLException {
    if (null == stmt || stmt.isClosed()) {
        // Create a connection to the database
        if (database_url == null) {
            throw new SQLException("Cannot connect to database, connection URL is null.")
        }

        Properties  database_infos = new Properties()

        database_infos.put("user", user)
        database_infos.put("password", password)
        database_infos.put("driver", driver)

        Class.forName(driver)
        connection = DriverManager.getConnection(url, database_infos)
        stmt = connection.createStatement()
    }
}

哪个返回相同的异常。

实际上,直接调用DriverManager.getDriver(driver)会返回相同的异常。

通过以下方式将驱动程序添加到POM.xml文件:

<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>7.4.1.jre8</version>
</dependency>

它被添加到类路径中,并且可以通过以下方式将其导入任何java文件中import com.microsoft.sqlserver.jdbc.SQLServerDriver,而不会出现错误

我正在Groovy项目中使用IntelliJ IDEA,但是我可以在纯Java项目中的Eclipse中重现该错误。因此,它似乎不是基于语言/ IDE的。

所以现在我对此有点头绪,知道吗?

java sql-server jdbc groovy database-connection
1个回答
0
投票

所以我发现了,错误消息完全令人误解,因为问题出在应该为URL的URL中:

'jdbc:sqlserver://sqltest3'

如果//不存在,则connectedProperties返回为null,并且不提供驱动程序,因此会产生错误消息。

© www.soinside.com 2019 - 2024. All rights reserved.