簡體   English   中英

即使我已經正確創建了數據庫,“未知數據庫”

[英]“unknow database” even though i have created database correctly

我正在研究Java Web應用程序。 我正在使用jboss wildfly 10.x服務器,並保持休眠狀態。 問題是,當我啟動服務器時,它說有一個unknow database "DATABASE" ,我沒有創建該unknow database "DATABASE" ,也沒有在任何地方給出有關DATABASE的名稱,但是如果我創建DATABASE它將起作用並填充正確的數據庫。

這是我的* -ds.xml:

<datasources>
    <datasource jndi-name="java:jboss/datasources/atlantisDS"
        pool-name="atlantisPool">
        <connection-url>jdbc:mysql://localhost/atlantis?characterEncoding=UTF8
        </connection-url>
        <driver>mysql</driver>
        <pool>
            <min-pool-size>1</min-pool-size>
            <max-pool-size>5</max-pool-size>
            <prefill>true</prefill>
        </pool>
        <security>
            <user-name>were</user-name>
            <password>142536</password>
        </security>
    </datasource>
</datasources>

這是persistence.xml:

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
         http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
    <persistence-unit name="atlantisPU" transaction-type="JTA">        
   <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <jta-data-source>java:jboss/datasources/atlantisDS</jta-data-source>
        <properties>
           <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
           <property name="hibernate.hbm2ddl.auto" value="update" />
        </properties>
    </persistence-unit>
</persistence>

我已經在每個*.xml文件中查找了DATABASE但找不到線索。 那么問題是什么,我該如何解決?

因為您已經添加了這一行

<jta-data-source>java:jboss/datasources/atlantisDS</jta-data-source>

它告訴容器在jboss配置文件或* -ds.xml中尋找數據源

因此,請打開jboss的獨立文件,然后在* -ds.xml中查找類似這樣的代碼

<datasource jndi-name="java:jboss/datasources/sampleDS" pool-name="sampleDS" enabled="true" use-java-context="true">
    <connection-url>jdbc:mysql://192.168.155.110:3306/databasename</connection-url>
    <driver>mysql</driver>
    <security>
        <user-name>root</user-name>
        <password>root</password>
    </security>
</datasource>

您已將數據庫名稱定義為亞特蘭蒂斯

無論是否自動創建表,數據庫都必須存在於Mysql中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM