[英]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 Connection可以正常工作,但是當我創建一個servlet查詢數據庫時,出現了如下異常:
“未找到表“用戶”; SQL語句:從用戶名*'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>
這樣就解決了問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.