Не найдено подходящего драйвера снежинка JDBC

Сейчас я работаю над приложением. Мы переходим с файловых систем в нашу базу данных Snowflake. Кажется, я не могу подключиться к базе данных - я постоянно сталкиваюсь с ошибкой «не найден подходящий драйвер».

Правильный драйвер был загружен и установлен в путь сборки. Кто-нибудь знает, что происходит?

Код:

package com.GriefUI.DBComponents;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class Snowflake_Driver {

public static void databaseConnection(HttpServletRequest request, HttpServletResponse response) throws UnsupportedOperationException{


    try {

        Connection connObject = getConnection();
        Statement stmt = connObject.createStatement();
        ResultSet rSet = stmt.executeQuery("SELECT * FROM MY_TABLE");


    }catch(Exception e) {
        e.printStackTrace();
        throw new UnsupportedOperationException();
    }

}


 private static Connection getConnection()
          throws SQLException {
        try {
          Class.forName("net.snowflake.client.jdbc.SnowflakeDriver");
        } catch (ClassNotFoundException ex) {
          System.err.println("Driver not found");
        }

        Properties properties = new Properties();

        String user = "user";
        String pwsd = "password";
        String connectStr = "jdbc:snowflake://My_Environment.snowflakecomputing.com";

        Connection conn = DriverManager.getConnection(connectStr, user, pwsd);
        return conn;
      }

 }

Путь сборки:

Путь сборки

И связанная трассировка стека:

Driver not found
java.sql.SQLException: No suitable driver found for jdbc:snowflake://My_Environment.snowflakecomputing.com
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.GriefUI.DBComponents.Snowflake_Driver.getConnection(Snowflake_Driver.java:54)
at com.GriefUI.DBComponents.Snowflake_Driver.databaseConnection(Snowflake_Driver.java:20)
at com.GriefUI.Servers.PushServer.doPost(PushServer.java:60)
at com.GriefUI.Servers.PushServer.doGet(PushServer.java:47)

person Matthew    schedule 30.09.2019    source источник
comment
Откуда у вас такое название? Разве это не должно быть com.snowflake.client.jdbc.SnowflakeDriver вместо этого?   -  person x80486    schedule 30.09.2019
comment
Я получил это из их примера в их документации   -  person Matthew    schedule 30.09.2019
comment
Тогда я бы посоветовал проверить имеющиеся у вас зарегистрированные драйверы, перебрать DriverManager.getDrivers() и распечатать их все, чтобы посмотреть, есть ли они у вас. Вероятно, com. старая версия (или наоборот).   -  person x80486    schedule 30.09.2019
comment
Я сделал это, и похоже, что драйверы не загружаются / не читаются eclipse   -  person Matthew    schedule 30.09.2019


Ответы (1)


Я бы посоветовал взглянуть на следующие исследования: https://docs.snowflake.net/manuals/user-guide/jdbc-configure.html.

Этот ответ также выглядел полезным: https://stackoverflow.com/a/54504514/12127815 "добавление jar-файла в путь к классам, а затем выполнив следующую команду Class.forName («предоставленное имя драйвера») в вызывающем классе? »Хотя в качестве усовершенствования предлагается использовать световую банку:« [open] Light driver jar? # 174 »https://github.com/snowflakedb/snowflake-jdbc/issues/174

Интеграция драйвера в проект: https://docs.snowflake.net/manuals/user-guide/jdbc-download.html#integrating-the-driver-into-a-project Конкретная информация скопирована из документации:« Для интеграции драйвера в проект, добавьте необходимые теги в файл pom.xml, например:

<groupId>net.snowflake</groupId>
<artifactId>snowflake-jdbc</artifactId>
<version>3.9.2</version>

Где тег указывает версию драйвера, который вы хотите интегрировать. Обратите внимание, что версия 3.9.2 используется в этом примере только в целях иллюстрации. Последняя доступная версия драйвера может быть выше ".

У других может быть лучшее понимание.

person Rachel McGuigan    schedule 30.09.2019