我有一个玻璃鱼容器管理的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应用程序。