Error no configured target data sources

I have a little problem with the creation of a table (for a database) in Java. Currently, I'm using IntelliJ IDEA and when I write the code for creating a table the text is highlighted in yellow and

I have a little problem with the creation of a table (for a database) in Java.

Currently, I’m using IntelliJ IDEA and when I write the code for creating a table the text is highlighted in yellow and when I look to the problem I see the following message:

«No data sources are configured to run this SQL and provide advanced code assistance. Disable this inspection via problem menu (⌥⏎).»

I tried with changing the SQL dialect (because before there was also that message that appeared) without result.

What should I do? I wrote something wrong in the code but I don’t know why whit other example work perfectly.

Here’s the code:

public static void createTable(){

    //connect to database
    String url = percorsoDatabase;

    //Statement create new table
    String sql = "CREATE TABLE IF NOT EXISTS Tabella (id PRIMARY KEY," +
            "video TEXT," +
            "game TEXT," +
            "firstAction TEXT," +
            "secondAction TEXT," +
            "thirdAction TEXT);";

    try {
        Connection conn = DriverManager.getConnection(url);
        Statement stmt = conn.createStatement();
        stmt.execute(sql);
    } catch (SQLException e ){
            System.out.println(e.getMessage());
    }

}

I’ve already create a SQLite database and established a connection that works (before that), here’s the code if it could be useful.

public static void main(String[] args) {

    createNewDatabase();
    connection();
    createTable();
}

public static void createNewDatabase(){

    String url = percorsoDatabase;

    Connection conn;
    try {

     conn = DriverManager.getConnection(url);
        if (conn != null){
            DatabaseMetaData meta = conn.getMetaData();
            System.out.println("The driver name is" + meta.getDriverName());
            System.out.println("A new database has been created.");
        }
    } catch (SQLException e){
        System.out.println(e.getMessage());
    }

}

public static void connection(){

    Connection conn = null;
    try {
        //String url = "jdbc:sqlite://Volumes/Isma/Documenti/SUPSI/APA/Stage/"
        //        + "Beans/esperimento/dati.db";
        conn = DriverManager.getConnection(percorsoDatabase);
        System.out.println("Connection to SQLite established.");
    } catch (SQLException e){
        System.out.println(e.getMessage());
    } finally {
        try {
            if (conn != null){
                conn.close();
            }
        } catch (SQLException e){
            System.out.println(e.getMessage());
        }
    }

}

So… If you can help me I would be grateful.

Thanks in advance for the answer and have a nice day!

I have a little problem with the creation of a table (for a database) in Java.

Currently, I’m using IntelliJ IDEA and when I write the code for creating a table the text is highlighted in yellow and when I look to the problem I see the following message:

«No data sources are configured to run this SQL and provide advanced code assistance. Disable this inspection via problem menu (⌥⏎).»

I tried with changing the SQL dialect (because before there was also that message that appeared) without result.

What should I do? I wrote something wrong in the code but I don’t know why whit other example work perfectly.

Here’s the code:

public static void createTable(){

    //connect to database
    String url = percorsoDatabase;

    //Statement create new table
    String sql = "CREATE TABLE IF NOT EXISTS Tabella (id PRIMARY KEY," +
            "video TEXT," +
            "game TEXT," +
            "firstAction TEXT," +
            "secondAction TEXT," +
            "thirdAction TEXT);";

    try {
        Connection conn = DriverManager.getConnection(url);
        Statement stmt = conn.createStatement();
        stmt.execute(sql);
    } catch (SQLException e ){
            System.out.println(e.getMessage());
    }

}

I’ve already create a SQLite database and established a connection that works (before that), here’s the code if it could be useful.

public static void main(String[] args) {

    createNewDatabase();
    connection();
    createTable();
}

public static void createNewDatabase(){

    String url = percorsoDatabase;

    Connection conn;
    try {

     conn = DriverManager.getConnection(url);
        if (conn != null){
            DatabaseMetaData meta = conn.getMetaData();
            System.out.println("The driver name is" + meta.getDriverName());
            System.out.println("A new database has been created.");
        }
    } catch (SQLException e){
        System.out.println(e.getMessage());
    }

}

public static void connection(){

    Connection conn = null;
    try {
        //String url = "jdbc:sqlite://Volumes/Isma/Documenti/SUPSI/APA/Stage/"
        //        + "Beans/esperimento/dati.db";
        conn = DriverManager.getConnection(percorsoDatabase);
        System.out.println("Connection to SQLite established.");
    } catch (SQLException e){
        System.out.println(e.getMessage());
    } finally {
        try {
            if (conn != null){
                conn.close();
            }
        } catch (SQLException e){
            System.out.println(e.getMessage());
        }
    }

}

So… If you can help me I would be grateful.

Thanks in advance for the answer and have a nice day!

  1. На главную

  2. How

  3. Источники данных не настроены для запуска этого SQL
  • 2023
  • Редактор:
    Christopher Sullivan |
    Написать мне

У меня небольшая проблема с созданием таблицы (для базы данных) на Java.

В настоящее время я использую IntelliJ IDEA, и когда я пишу код для создания таблицы, текст выделяется желтым цветом, и когда я смотрю на проблему, я вижу следующее сообщение:

«Никакие источники данных не настроены для запуска этого SQL и предоставления расширенной помощи по коду. Отключите эту проверку в меню проблем (⌥⏎)».

Я попытался изменить диалект SQL (потому что раньше тоже появлялось это сообщение) безрезультатно.

Что я должен делать? Я написал что-то не так в коде, но я не знаю, почему другой пример работает отлично.

Вот код:


Я уже создал базу данных SQLite и установил работающее соединение (до этого), вот код, если он может быть полезен.


Итак … Если вы можете мне помочь, я был бы благодарен.

Заранее благодарим за ответ и хорошего дня!

Это предупреждение означает, что вы не настроили источник данных в окне инструментов базы данных в Intellij Idea. Это не означает, что ваш код неправильный, это просто показывает, что у вас нет автозавершения кода на основе схемы вашей базы данных.

Конфигурация источника данных в Intellij описана здесь https://www.jetbrains.com/help/idea/database-tool-window.html

  • Ага, хорошо. Большое спасибо! Это то, что я искал.

Сообщение:

Никакие источники данных не настроены для запуска этого SQL и предоставления расширенной помощи по коду.

немного явный и ИМХО немного ненужный, потому что я действительно думаю, что мне не нужно настраивать базу данных для каждого проекта, в котором у нас есть некоторые SQL-запросы.

Чтобы обработать это сообщение, у вас есть два варианта:

  1. Настроить Источник данных в свой проект, используя ALT + ВОЙТИ над сообщением и используя опцию Настроить источник данных:

или

  1. Отключить это Обнаружение диалекта SQL проверка параметров проверки в настройках IDE:

Второй вариант — лучший подход для меня, если вы действительно не хотите или не нуждаетесь в источнике данных в своем проекте.

  • 1 На самом деле в наши дни вам также нужно отключить Inspections -> SQL -> Нет настроенных источников данных

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


Проверьте Api https://docs.oracle.com/javase/7/docs/api/java/sql/DriverManager.html#getConnection(java.lang.String)

Вы правильно добавили ODBC?

Автор оригинала: baeldung.

1. Обзор

В этом коротком учебнике мы обсудим что вызывает и что решает Ошибка “Не удалось настроить DataSource” о проекте «Весенняя загрузка».

Мы решим проблему с помощью двух разных подходов:

  1. Определение источника данных
  2. Отключение автоматической конфигурации источника данных

2. Проблема

Теперь предположим, что у нас есть проект Spring Boot, и мы добавили весна-данные-стартер-jpa зависимость и Водитель MyS’L JDBC к нашему пом.xml :

    org.springframework.boot
    spring-boot-starter-data-jpa


    mysql
    mysql-connector-java
    runtime

Но, когда мы запускаем приложение, оно не удается с ошибкой:

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded 
  datasource could be configured.

Reason: Failed to determine a suitable driver class

Давайте посмотрим, почему это происходит.

3. Причина

По замыслу, автоматическая конфигурация Spring Boot пытается настроить бобы автоматически на основе зависимостей, добавленных в класс.

И, поскольку у нас есть зависимость JPA от нашего classpath, Spring Boot пытается автоматически настроить систему JPA ДанныеИсточник . Проблема в том, мы не дали Spring информацию, необходимой для выполнения автоматической конфигурации .

Например, мы не определили свойства соединения JDBC, и нам нужно будет сделать это при работе с внешними базами данных, такими как MyS’L и MSS’L. С другой стороны, мы не будем сталкиваться с этой проблемой с базами данных памяти, как H2, поскольку они могут создать источник данных без всей этой информации.

4. Решения

4.1. Определить DataSource с использованием свойств

Поскольку проблема возникает из-за отсутствия подключения к базе данных, мы можем решить проблему, просто предоставив свойства источника данных.

Во-первых, давайте определим свойства источника данных в файле application.properties нашего проекта:

spring.datasource.url=jdbc:mysql://localhost:3306/myDb
spring.datasource.username=user1
spring.datasource.password=pass
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

Или мы можем предоставить свойства источника данных в application.yml :

spring:
  datasource:
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/myDb
    username: user1
    password: pass

4.2. Определить программу DataSource

Кроме того, мы можем определить наш источник данных , по использование утилиты строитель класса DataSourceBuilder . Для создания нашего источника данных нам необходимо предоставить URL-адрес базы данных, имя пользователя, пароль и информацию о драйвере S’L:

@Configuration
public class DatasourceConfig {
    @Bean
    public DataSource datasource() {
        return DataSourceBuilder.create()
          .driverClassName("com.mysql.cj.jdbc.Driver")
          .url("jdbc:mysql://localhost:3306/myDb")
          .username("user1")
          .password("pass")
          .build();	
    }
}

Короче говоря, мы можем использовать любой из вышеперечисленных вариантов для настройки источника данных в соответствии с нашими требованиями.

4.3. Исключить DataSourceAutoConfiguration

В предыдущем разделе мы исправили проблему, добавив свойства источника данных в наш проект. Но, как мы можем решить эту проблему, если мы еще не готовы определить наш источник данных?

Давайте посмотрим, как предотвратить автоматическую настройку источника данных в Spring Boot .

Классная DataSourceAutoКонфигурация является базовым классом для настройки источника данных с помощью spring.datasource.» свойства.

Теперь, Есть несколько способов, которые мы можем исключить это из автоматической конфигурации .

Во-первых, мы отключить автоматическую конфигурацию с помощью spring.autoconfigure.exclude имущественные в нашем application.properts файл:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

Аналогичным образом, мы можем сделать то же самое, используя наши application.yml файл:

spring:
  autoconfigure:
    exclude:
    - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

Или мы можем использовать исключить атрибут на нашем @SpringBootApplication или @EnableAutoConfiguration аннотация :

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})

Во всех вышеперечисленных примерах мы отключил автоматическую конфигурацию ДанныеИсточник . И это не повлияет на автоматическую настройку любых других бобов.

Таким образом, подводя итог, мы можем использовать любой из вышеперечисленных методов, чтобы отключить автоматическую конфигурацию источника данных Spring Boot.

В идеале мы должны предоставлять информацию об источниках данных и использовать опцию исключения только для тестирования.

5. Заключение

В этой статье мы видели, что вызывает “Не удалось настроить DataSource” ошибка. Во-первых, мы исправили проблему, определив источник данных. Далее мы обсудили, как обойти проблему без настройки источника данных вообще.

Как всегда, полный код, используемый в этой статье, доступен GitHub .

Понравилась статья? Поделить с друзьями:
  • Error no communication with vmc
  • Error no browser servers found
  • Error no available storage method found
  • Error nginx restart failed
  • Error logformat squid is already defined ignoring