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!
-
На главную
-
How
- Источники данных не настроены для запуска этого 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-запросы.
Чтобы обработать это сообщение, у вас есть два варианта:
- Настроить Источник данных в свой проект, используя ALT + ВОЙТИ над сообщением и используя опцию Настроить источник данных:
или
-
Отключить это Обнаружение диалекта 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” о проекте «Весенняя загрузка».
Мы решим проблему с помощью двух разных подходов:
- Определение источника данных
- Отключение автоматической конфигурации источника данных
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 .