java. sql .SQLException: не найден подходящий драйвер для jdb c: sqlserver: // - Java based Azure Функции - PullRequest
1 голос
/ 17 апреля 2020

У меня есть java на основе Azure Функции с, который пишет в Azure SQL. Однако я получаю сообщение об ошибке при срабатывании функции. Что мне нужно сделать с VS Code для выпуска драйвера? Я в порядке с JDB C или любым другим приводом, который лучше всего подходит с Azure Функции

https://docs.microsoft.com/en-us/sql/connect/jdbc/step-3-proof-of-concept-connecting-to-sql-using-java?view=sql-server-ver15

ERROR:

17.4.2020 13.06.39] java.sql.SQLException: No suitable driver found for jdbc:sqlserver://sql...;
[17.4.2020 13.06.39] Function "TopicTriggerSQLOutput" (Id: 70a1ce4c-3828-4280-81cf-dafa61956cb5) 
invoked by Java Worker
[17.4.2020 13.06.39]    at java.sql.DriverManager.getConnection(DriverManager.java:689)

CODE:

package com.function;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

/**
 * Azure Functions with Azure Storage Queue trigger.
 */
public class TopicTriggerSQLOutput {
     /**
     * This function will be invoked when a new message is received at the specified path. The 
message contents are provided as input to this function.
     */
     @FunctionName("TopicTriggerSQLOutput")
     public void run(
         @ServiceBusTopicTrigger(
            name = "message",
            topicName = "newtopic",
            subscriptionName = "newsubscription",
            connection = "topicconnstring"
        ) String message,
         final ExecutionContext context
    ) {
         /*Creating SQL Connection. I need help here:
         https://docs.microsoft.com/en-us/sql/connect/jdbc/step-3-proof-of-concept-connecting-to-sql- 
   using-java?view=sql-server-ver15
        */

            String connectionUrl = "jdbc:sqlserver://sql...";

            ResultSet resultSet = null;

            try (Connection connection = DriverManager.getConnection(connectionUrl);
                Statement statement = connection.createStatement();) {

               // Create and execute a SELECT SQL statement.
                String selectSql = "SELECT TOP 10 artist FROM [dbo].[RadioEventsTarget]";
                resultSet = statement.executeQuery(selectSql);

                // Print results from select statement
                while (resultSet.next()) {
                System.out.println(resultSet.getString(2) + " " + resultSet.getString(3));
                }
       }
            // Handle any errors that may have occurred.
            catch (SQLException e) {
            e.printStackTrace();
            }

    //context.getLogger().info(message);
}

}

1 Ответ

1 голос
/ 20 апреля 2020

Что мне нужно сделать с кодом VS для решения проблемы с драйвером?

Вам необходимо добавить зависимость драйвера jdb c в файл pom.xml. Вот пример зависимости, который я использовал для подключения к Azure SQL.

    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>8.2.2.jre8</version>
    </dependency>

Ссылка:

https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...