Нет подходящей ошибки драйвера после установки CLASSPATH, Maven и pom.xml

#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];" и она, наконец, подключилась.

Чтобы быть справедливым к себе здесь, эта ошибка настолько совершенно непонятна и бесполезна.