#java #azure #maven #jdbc
#java #azure #maven #jdbc
Вопрос:
Со вчерашнего дня я пытаюсь выяснить, как исправить это SQLException, и на данный момент я пуст. Я проверил десятки сайтов, всю документацию для Microsoft и Azure о том, как подключаться к базам данных, и я продолжаю получать ту же ошибку.
Я добавил ПУТЬ к классу CLASSPATH =.;C:Program FilesMicrosoft JDBC Driver 8.2 for SQL Serversqljdbc_8.2enumssql-jdbc-8.2.2.jre11.jar
, как указано в документации по использованию драйвера JDBC. Я загрузил драйвер JDBC от самих Microsoft и поместил файлы в папку, C:Program FilesMicrosoft JDBC DRIVER 8.4 for SQL Server
как указано в их документации. Мои maven
и java
работают нормально, и у меня есть пример класса, который я получил от SQLExamples
самих Microsoft, этот:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
// As informed on:
// https://www.microsoft.com/en-us/sql-server/developer-get-started/java/windows/step/2.html
public class App {
public static void main(String[] args) {
String connectionUrl = "jdbc:sqlserver:[AzureAddressHere];"
"database=[DatabaseHere];"
"user=[UserHere];"
"password=[PasswordHere]";
try {
// Load SQL Server JDBC driver and establish connection.
System.out.print("Connecting to SQL Server ... ");
try (Connection connection = DriverManager.getConnection(connectionUrl)) {
System.out.println("Done.");
}
} catch (SQLException e) {
System.out.println();
e.printStackTrace();
}
}
}
Я также добавил ссылки на jar
файл в список pom.xml
зависимостей:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>8.4.1.jre11</version>
</dependency>
Я также нашел упоминание на веб-сайте о том, что jar
файл находится в папке библиотеки Maven, поэтому я также скопировал jar
файл в эту lib
папку.
Тем не менее, всякий раз, когда я пытаюсь запустить приложение, я получаю java.sql.SQLException: No suitable driver found for [AzureInformation]
.
Есть идеи о том, чего мне здесь не хватает?
Ответ №1:
Оказывается, проблема заключалась в отсутствии двух //
в адресе. facepalm
Итак, я просто установил для этой строки значение: String connectionUrl = "jdbc:sqlserver://[AzureAddressHere];"
и она, наконец, подключилась.
Чтобы быть справедливым к себе здесь, эта ошибка настолько совершенно непонятна и бесполезна.