ネットワークサーバーモードでderbyを起動し、組み込み接続を取得する方法を知りたいだけですか?
ありがとうございました。
「組み込みサーバーモード」で Derby を起動する必要があります。すでに組み込みモードで Derby を使用している場合は、必要なファイルをクラスパスに指定し、アプリケーションの起動時にいくつかのコマンド ライン引数を指定することで、これを有効にすることができます。
最初に、次の jar がアプリケーションのランタイム クラスパスにあることを確認します。
derby.jar derbynet.jar
次に、アプリケーションの起動に使用する Java コマンドに次のコマンド ライン オプションを追加します。クラス ファイルが見つからない場合、これらのオプションは効果がありません。
-Dderby.drda.startNetworkServer=true
-Dderby.drda.portNumber=8011
Tomcat がホストするサーブレット内から Derby を実行しているので、これらのオプションを catalina.bat ファイルに追加しました。
アプリケーションを起動し、開いているネットワーク ソケットのリストを確認します。
netstat -an | find "8011"
これで、Derby が 8011 で接続をリッスンしていることがわかるはずです。これで、Derby のクライアント ドライバー (derbyclient.jar) を使用してデータベースに接続できるようになりました。http://docs.oracle.com/javadb/10.3.3.0/adminguide/radminembeddedserverex.htmlの手順は、この部分をかなりカバーしています。
このモードで Derby を実行することはお勧めできません。そんなことはないと思います。アプリケーションは引き続き組み込みドライバーを使用してデータベースにアクセスしますが、他のソフトウェアはクライアント ドライバーを使用してアクセスを許可されます。
組み込みサーバー モードは、あなたが求めているもののように聞こえます。組み込みデータベースの起動時に、ネットワーク サーバーを起動できます。
ネットワークサーバーモードでderbyを起動し、組み込みドライバーを取得することは矛盾しているように思われます。これが可能かもしれないとしても、それは絶対にお勧めできません。DRDAを使用してネットワークモードでApacheDerbyを使用するか、組み込みドライバーとして使用するかを決定し、その決定に固執する必要があります。
ここに、ネットワークドライバの使用方法に関するチュートリアルがあります:http: //db.apache.org/derby/papers/DerbyTut/ns_intro.html
私が間違っている場合、誰かが私を訂正します。両方とも別々のポートで実行されます。したがって、適切なconnectionNameを使用して必要なものに接続できますよね?
@pawelocue: 申し訳ありませんが、これは間違っています。組み込みサーバー モードの使用はまったく問題なく、場合によっては非常に便利です。それは間違いなく落胆しません。