2

我有一个可以使用 CRUD 操作访问的 glassfish 容器管理的 derby 数据库。我想通过 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>
4

2 回答 2

3

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

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

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

如下;

关于 domain.xml 文件的 Oracle 文档

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

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

在这里,您将找到以下信息,详细说明您的所有数据库属性。

<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 应用程序。

于 2014-07-22T12:16:01.480 回答
0

我不确定您是否可以直接访问内存中的 derby 数据库。

于 2014-07-16T12:38:36.773 回答