Я использую Wildfly 13.
Источник данных, подключенный к базе данных DB2, был добавлен с помощью консоли администратора.
Вот часть standalone-fa-full.xml
<subsystem xmlns="urn:jboss:domain:datasources:5.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true" statistics-enabled="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<datasource jndi-name="java:/QuizDS" pool-name="QuizDS" enabled="true" statistics-enabled="true">
<connection-url>jdbc:db2://ip-address:18012/ogcscdb1</connection-url>
<driver-class>com.ibm.db2.jcc.DB2Driver</driver-class>
<driver>db2jcc4.jar</driver>
<pool>
<min-pool-size>0</min-pool-size>
<max-pool-size>50</max-pool-size>
</pool>
<security>
<user-name>Testing</user-name>
<password>Testing</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ValidConnectionChecker"/>
<background-validation>true</background-validation>
<stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2StaleConnectionChecker"/>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ExceptionSorter"/>
</validation>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
Я пытался написать простую программу JSP для загрузки базы данных. Вот файл JSP
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/QuizDS">
select name from sysibm.systables;
</sql:query>
<html>
<head>
<title>DB Test</title>
</head>
<body>
<h2>Results</h2>
<c:forEach var="row" items="${rs.rows}">
${row.name}<br/>
</c:forEach>
</body>
</html>
Вот мой web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>Testing2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/QuizDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
Я пытаюсь развернуть мой военный файл через консоль администратора. И развертывание прошло успешно, но когда я загружаю страницу JSP, появляется следующая ошибка:
2018-06-25 11:04:31,950 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /Testing2/: javax.servlet.ServletException: javax.servlet.jsp.JspException:
select name from sysibm.systables;
: Schema "SYSIBM" not found; SQL statement:
select name from sysibm.systables;
[90079-193]
at io.undertow.jsp@2.0.3.Final//org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:886)
at io.undertow.jsp@2.0.3.Final//org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:818)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:129)
at io.undertow.jsp@2.0.3.Final//org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
Однако тестовое соединение успешно выполнено в консоли администратора.
Могу ли я спросить, есть ли у кого-нибудь идеи, почему это произошло?