数据源中的 Wildfly 12 错误
Wildfly 12 error in datasource
我正在尝试在 Wildfly 12 中创建一个简单的数据源,以便将 mysql 数据库连接到 Java WEB 应用程序。
我尝试了 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 连接没有错误,但是当我创建一个 servlet 来查询我的数据库时,我遇到了这样的异常:
"Table "未找到用户;SQL 语句:Select * 来自用户名 = 'myusername'"
我有 运行 一些测试,我注意到 Java 已连接到数据库但未连接到特定模式,我 运行 查询如 "SELECT DATABASE() FROM DUAL"结果是 "TEST"。所以我猜测 URL 连接中的数据库名称参数没有正常工作。
我该如何解决这个问题?我没有找到任何额外的参数来指定数据源中的数据库名称。
谢谢你的时间。
好吧,在尝试了一些修改之后,我意识到我必须将下一段代码放入 web.xml 文件中:
<resource-ref>
<res-ref-name>jdbc/MyDS/<res-ref-name>
<jndi-name>jdbc:mysql://localhost:3306/MyDatabaseName</jndi-name>
</resource-ref>
这解决了问题。
我正在尝试在 Wildfly 12 中创建一个简单的数据源,以便将 mysql 数据库连接到 Java WEB 应用程序。
我尝试了 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 连接没有错误,但是当我创建一个 servlet 来查询我的数据库时,我遇到了这样的异常:
"Table "未找到用户;SQL 语句:Select * 来自用户名 = 'myusername'"
我有 运行 一些测试,我注意到 Java 已连接到数据库但未连接到特定模式,我 运行 查询如 "SELECT DATABASE() FROM DUAL"结果是 "TEST"。所以我猜测 URL 连接中的数据库名称参数没有正常工作。
我该如何解决这个问题?我没有找到任何额外的参数来指定数据源中的数据库名称。
谢谢你的时间。
好吧,在尝试了一些修改之后,我意识到我必须将下一段代码放入 web.xml 文件中:
<resource-ref>
<res-ref-name>jdbc/MyDS/<res-ref-name>
<jndi-name>jdbc:mysql://localhost:3306/MyDatabaseName</jndi-name>
</resource-ref>
这解决了问题。