Я пытаюсь создать простой источник данных в Wildfly 12 для подключения базы данных mysql к веб-приложению Java.
Я пробовал 2 варианта:
Измените standalone-full.xml, добавив источник данных следующим образом:
<datasource jndi-name="java:jboss/datasources/MyDS" pool-name="MyDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/MyDatabaseName</connection-url>
<driver>mysql</driver>
<pool>
<min-pool-size>2</min-pool-size>
<max-pool-size>5</max-pool-size>
</pool>
<security>
<user-name>myuser</user-name>
<password>mypassword</password>
</security>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql">
<driver-class>com.mysql.jdbc.Driver</driver-class>
</driver>
</drivers>
- Добавить источник данных с помощью консоли администратора
Я создаю Соединение с использованием источника данных без проблем:
Context initCtx = new InitialContext(), envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/MyDS");
this.connection = ds.getConnection();
Соединение Java работаетбез ошибок, но когда я создаю сервлет для запроса к моей базе данных, я получил следующее исключение:
"Таблица" user "not found; SQL оператор: Select * from user, где username = 'myusername'"
Я провел несколько тестов, и я мог заметить, что Java подключен к базе данных, но не к конкретной схеме, я запускаю запрос типа «SELECT DATABASE () FROM DUAL», и в результате получается «TEST».Поэтому я предполагаю, что параметр имени базы данных в соединении URL не работает должным образом.
Как я могу решить эту проблему?Я не нашел никаких дополнительных параметров для указания имени базы данных в источнике данных.
Спасибо за ваше время.