Ошибка Wildfly 12 в источнике данных

0

Я пытаюсь создать простой источник данных в Wildfly 12, чтобы подключить базу данных mysql к Java WEB-приложению.

Я попробовал 2 варианта:

  1. Измените 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>
    
    1. Добавьте источник данных с помощью консоли администратора

Я создаю соединение с использованием источника данных без проблем:

Context initCtx = new InitialContext(), envCtx = (Context) initCtx.lookup("java:comp/env");
        DataSource ds = (DataSource) envCtx.lookup("jdbc/MyDS");
        this.connection = ds.getConnection();

Java Connection работает без ошибок, но когда я создаю сервлет для запроса к моей базе данных, у меня есть такое исключение:

"Таблица" пользователь "не найден; оператор SQL: выберите * у пользователя, где username = 'myusername'"

Я проверил несколько тестов, и я заметил, что Java подключен к базе данных, но не к конкретной схеме. Я запускаю запрос типа "SELECT DATABASE() FROM DUAL", и результатом является "TEST". Поэтому я предполагаю, что параметр имени базы данных в URL-соединении не работает должным образом.

Как я могу решить эту проблему? Я не нашел дополнительного параметра для указания имени базы данных в источнике данных.

Спасибо за ваше время.

Теги:
wildfly
datasource

1 ответ

0
Лучший ответ

Ну, после того, как я попробовал некоторые изменения, я понял, что мне пришлось добавить следующий код в файл web.xml:

<resource-ref>
    <res-ref-name>jdbc/MyDS/<res-ref-name>
    <jndi-name>jdbc:mysql://localhost:3306/MyDatabaseName</jndi-name>
</resource-ref>

Это решило проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню