问题描述
我有一个使用derby和JPA的项目.我可以在我的应用程序中很好地连接到数据库.我想使用SQL Developer连接到嵌入式数据库,以便可以轻松浏览/查询数据库中的数据.
I have a project using derby and JPA. I can connect to the database fine within my application. I would like to connect to the embedded database with SQL Developer so I can easily browse/query the data in the database.
这是我正在使用的德比依赖项:
Here is the derby dependency I'm using:
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.7.1.1</version>
</dependency>
这是我用于JPA的连接信息:
Here is the the connection info I'm using for JPA:
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:derby:fs-hash-database;create=true"/>
使用SQL Developer 3.2.09,我尝试使用以下条目在工具">首选项">数据库">第三方JDBC驱动程序"中添加驱动程序:
Using SQL Developer 3.2.09 I tried to add the driver in Tools > Preferences > Database > Third Party JDBC Drivers with the following entry:
C:\Users\axiopisty\.m2\repository\org\apache\derby\derby\10.7.1.1\derby-10.7.1.1.jar
但是当我尝试创建新连接时,SQL Developer仍然只向我显示Oracle和Access的选项卡.我找不到第三方驱动程序的JDBC选项卡.
But when I try to create a new connection, SQL Developer still only shows me the tabs for Oracle and Access. I can't get the JDBC tab for the 3rd party driver.
我认为问题是我要添加为第三方驱动程序的jar是整个德比jar,而不仅仅是驱动程序.但是驱动程序仍放在罐子中.
I think the problem is that the jar that I am adding as the 3rd party driver is the entire derby jar, not just the driver. Yet the driver is contained in the jar.
有人知道如何配置SQL Developer以使用derby-10.7.1.1.jar中包含的org.apache.derby.jdbc.EmbeddedDriver吗?
Does anyone know how to configure SQL Developer to use the org.apache.derby.jdbc.EmbeddedDriver contained within derby-10.7.1.1.jar?
推荐答案
可以使用Java 8或更高版本的JDK附带的驱动程序来手动配置Oracle SQL Developer与Derby一起使用.
Oracle SQL Developer can be manually configured to work with Derby using the drivers that come with the JDK as of Java 8.
步骤1:在Oracle SQL Developer中,包括Derby相关的库.
Oracle SQL Developer->工具->首选项->数据库->第三方JDBC驱动程序.我只是[添加条目...] C:\ Program Files \ Java \ jdk1.8.0_92 \ db \ lib
Oracle SQL Developer -> Tools -> Preferences -> Databases -> Third Party JDBC Drivers. I simply [Add Entry...] all libraries under C:\Program Files\Java\jdk1.8.0_92\db\lib
第2步:手动编辑connections.xml
编辑C:\ Users \ USERNAME \ AppData \ Roaming \ SQL Developer \ system4.1.2.20.64 \ o.jdeveloper.db.connection.12.2.1.0.42.151001.541 \ connections.xml
Edit C:\Users\USERNAME\AppData\Roaming\SQL Developer\system4.1.2.20.64\o.jdeveloper.db.connection.12.2.1.0.42.151001.541\connections.xml
在此示例中,我正在使用嵌入式Derby驱动程序.
In this example I am using embedded Derby driver.
<Reference name="DerbyConn" className="oracle.jdeveloper.db.adapter.DatabaseProvider" xmlns="">
<Factory className="oracle.jdevimpl.db.adapter.DatabaseProviderFactory1212"/>
<RefAddresses>
<StringRefAddr addrType="OracleConnectionType">
<Contents>BASIC</Contents>
</StringRefAddr>
<StringRefAddr addrType="RaptorConnectionType">
<Contents>Microsoft SQL Server</Contents>
</StringRefAddr>
<StringRefAddr addrType="customUrl">
<Contents>jdbc:derby:firstdb;create=true</Contents>
</StringRefAddr>
<StringRefAddr addrType="driver">
<Contents>org.apache.derby.jdbc.EmbeddedDriver</Contents>
</StringRefAddr>
<StringRefAddr addrType="subtype">
<Contents>SQLServer</Contents>
</StringRefAddr>
<StringRefAddr addrType="ConnName">
<Contents>DerbyDB</Contents>
</StringRefAddr>
</RefAddresses>
注意:
1. XML设置可以如上图所示.
2. customUrl是 jdbc:derby:firstdb; create = true .这将在C:\ sqldeveloper \ bin \ firstdb中初始化firstdb模式.您可以使用 jdbc:derby:D:\\ Project \\ derbydb \\ firstdb 将架构初始化为绝对位置.
Note:
1. The XML setting can be as plain as shown above.
2. customUrl is jdbc:derby:firstdb;create=true. This will initialize firstdb schema in C:\sqldeveloper\bin\firstdb. You can use jdbc:derby:D:\\Project\\derbydb\\firstdb to initialize schema to an absolute location.
这篇关于如何使用SQLDeveloper连接到嵌入式Derby数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!