4

derby と JPA を使用するプロジェクトがあります。アプリケーション内でデータベースに正常に接続できます。データベース内のデータを簡単に参照/クエリできるように、SQL Developer を使用して組み込みデータベースに接続したいと考えています。

私が使用しているダービーの依存関係は次のとおりです。

<dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derby</artifactId>
    <version>10.7.1.1</version>
</dependency>

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 ドライバー] にドライバーを追加しようとしました。

C:\Users\axiopisty\.m2\repository\org\apache\derby\derby\10.7.1.1\derby-10.7.1.1.jar

しかし、新しい接続を作成しようとすると、SQL Developer はまだ Oracle と Access のタブしか表示しません。サードパーティ ドライバの JDBC タブが表示されません。

問題は、サード パーティのドライバーとして追加する jar が、ドライバーだけでなく、derby jar 全体であることだと思います。それでも、ドライバーは jar に含まれています。

derby-10.7.1.1.jar に含まれる org.apache.derby.jdbc.EmbeddedDriver を使用するように SQL Developer を構成する方法を知っている人はいますか?

4

4 に答える 4

7

SQLDeveloperはApacheDerbyをサポートしていません。Webサイトに記載されているように、非常に限られた(そして固定された)DBMSのセットのみをサポートします。

  • オラクル(明らかに)
  • MySQL(明らかに)
  • SQLサーバー
  • DB2
  • MSAccess
  • Sybase
  • Teradata

(すべてのサードパーティのDBMSは、Webサイトに「読み取り専用」としてリストされています-それが意味するものは何でも)

Squirrel、DbVisualizer、SQL Workbench / JなどのDerbyに対して使用するには、「実際の」汎用JDBCクライアントが必要になります。

于 2012-09-02T06:33:34.427 に答える
1

ドライバー ファイルをクラスパスに追加し、AppData\Roaming\SQL Developer\system4.0.2.15.21\ ディレクトリにある connections.xml ファイルを編集することで、ネットワーク ドライバーを使用して SQL 開発者 4.0.2.15 でこれを動作させることができました。 o.jdeveloper.db.connection.12.1.3.2.41.140418.1111

SQLサーバー接続をコピーしてこれを行いましたが、SQLサーバーデータベースであると考えてうまく機能しているようです。

ファイルに次を追加しました:

     <参照名="DATABASENAME" className="oracle.jdeveloper.db.adapter.DatabaseProvider" xmlns=""\>
      <Factory className="oracle.jdevimpl.db.adapter.DatabaseProviderFactory1212"/>
      <参照アドレス>
         <StringRefAddr addrType="ポート">
            <Contents>1527/DATABASENAME</Contents>
         </StringRefAddr>
         <StringRefAddr addrType="user">
            <Contents>ユーザー名</Contents>
         </StringRefAddr>
         <StringRefAddr addrType="NoPasswordConnection">
            <Contents>TRUE</Contents>
         </StringRefAddr>
         <StringRefAddr addrType="subtype">
            <Contents>SQLServer</Contents>
         </StringRefAddr>
         <StringRefAddr addrType="RaptorConnectionType">
            <Contents>Microsoft SQL Server</Contents>
         </StringRefAddr>
         <StringRefAddr addrType="ConnName">
            <Contents>DATABASENAME</Contents>
         </StringRefAddr>
         <StringRefAddr addrType="ホスト名">
            <コンテンツ>ホスト名</コンテンツ>
         </StringRefAddr>
         <StringRefAddr addrType="customUrl">
            <Contents>JDBCURL</Contents>
         </StringRefAddr>
         <StringRefAddr addrType="SavePassword">
            <Contents>false</Contents>
         </StringRefAddr>
         <StringRefAddr addrType="driver">
            <Contents>org.apache.derby.jdbc.ClientDriver</Contents>
         </StringRefAddr>
      </RefAddresses>
   </参考>

データベースの DATABASENAME、USERNAME、HOSTNAME、および JDBCURL に適切な値を使用して構成する必要があります。

これが役立つことを願っています

于 2014-06-23T05:36:39.567 に答える