我有一个玻璃鱼容器管理的derby数据库,可以使用CRUD操作进行访问。我想直接通过asadmin工具访问我的derby数据库以查看表。

但是,我找不到我的数据库。

在研究了该站点之后,我发现glassfish创建了仅在需要时才进行连接的连接池。我看到可以创建连接池,但是我什至不知道数据库在哪里。

任何意见是极大的赞赏。我是JEE7的新手,正在学习“面向初学者的JEE7”书。

<persistence-unit name="chapter15PU" transaction-type="JTA">
    <jta-data-source>jdbc/__default</jta-data-source>
    <properties>
        <property name="javax.persistence.schema-generation.database.action" value="drop-and-    create"/>
        <property name="eclipselink.logging.level" value="INFO"/>
    </properties>
</persistence-unit>

最佳答案

要使用derby ij命令行工具进行连接,请使用以下命令:

connect 'jdbc:derby://localhost:1527/sun-appserv-samples';

“sun-appserv-samples”是默认的Glassfish容器托管的数据库名称。

如下;

Oracle documentation on domain.xml file

如果您指定数据库是由容器管理的,并且使用的是Glassfish,则可以在domain.xml文件中找到所有数据库属性。

例如,如果您使用的是名称为domain1的默认glassfish域,则必须在文件系统上导航至..glassfish / domains / domain1。您可以在config文件夹中找到domain.xml文件。

在这里,您将找到以下信息,详细介绍了所有数据库属性。
<property name="PortNumber" value="1527"></property>
<property name="Password" value="APP"></property>
<property name="User" value="APP"></property>
<property name="serverName" value="localhost"></property>
<property name="DatabaseName" value="sun-appserv-samples"></property>
<property name="connectionAttributes" value=";create=true"></property>

如您所见,默认数据库名称为sun-appserv-samples。

要连接到该数据库,必须打开命令工具ij,该工具可在derby bin文件夹中找到。然后使用以下命令连接到数据库。
connect 'jdbc:derby://localhost:1527/sun-appserv-samples';

注意:您必须运行derby,并且您是首先在Glassfish上部署的Java Web应用程序。

10-08 13:23