Я пытаюсь подключиться к существующей БД, которая является хостом на сервере 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)
}
Я получаю следующую ошибку:
Исключение в потоке "main" java. sql .SQLException: не найден подходящий драйвер для jdb c: 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
без ошибок
Я работаю с использованием IntelliJ IDEA в проекте Groovy, но могу воспроизвести ошибку в Eclipse в чистом проекте Java. Так что, похоже, он не основан на langage / IDE.
Так что теперь я немного не в курсе этого, есть идеи?