問題タブ [derby]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ApacheDerbyデータベースへの同時アクセスの管理
JavaSwingアプリケーション内でApacheDerbyデータベースを(ネットワークモードで)実行しています。Javaクライアントアプリケーションを介して直接JDBC呼び出しを介してデータベースに接続します。
これはすべて非常に優れており、うまく機能しますが、このクライアント/サーバーアプリケーションの同時ライセンスを実装するための追加要件があることを私は知っています。
理想的には、単一のユーザーライセンスを持つユーザーは、ラップトップで1つのクライアントアプリを実行し、デスクトップで2番目のクライアントアプリを実行し、両方からサーバーに接続できる必要があります。
私はWebサーバーの贅沢を持っていないので、私の唯一のオプションはDerbyの「maxthreads」ランタイムプロパティを使用することであり、基本的にユーザーがラップトップからログオフする必要があるかどうかを疑問に思っています。デスクトップからのアプリ。
タイムスライスプロパティを0のままにすると、getConnectionタイムアウトが呼び出され、クライアントアプリの1つを切断する必要があることを説明するメッセージをユーザーに表示できます。
接続スレッドはこれを行うための信頼できる方法ですか?
私は別の解決策を逃していますか?
database - Apache Derby アクティブ接続の一覧表示
現在の接続/アクティブなセッションのリストを Apache Derby に照会することはできますか? システムテーブルなどはありますか?
database - 最大の SQL コンプライアンスと同時実行サポートを備えている組み込みデータベースはどれですか?
私のアプリケーションは現在 Microsoft Access を使用していますが、現在は Linux ボックスでホストされている可能性があります。さらに、複数のコンピュータからアクセスされている間、そのうちの 1 つがレコードを更新する可能性があります (他のユーザーによって読み取られた場合)。
また、組み込みデータベースが複雑な SQL クエリ (内部 SQL、結合など) をサポートすることも必要です。
SQLiteを試しましたが、既存のクエリの多くが失敗するか、修正する必要があります (FROM の後にブラケットを内部結合する単純なクエリのように、SQLite では受け入れられず、削除する必要がありました)。右結合もサポートされていません。
Apache DerbyとH2について知りましたが、まずは貴重なご意見をお待ちしております。
編集:
私のアプリケーションは完全に Java で書かれていることを忘れていました。
編集:
プリセットでは、ネットワーク ドライブで共有されている Microsoft Access mdb を使用して、リモート コンピューターから DSN レス接続を作成します。
アップデート
私は Firebird を試してみましたが、非常に優れており、管理者がゼロで、SQL に準拠しているようです。高速で、試してみた典型的なクエリのいずれにも問題はありませんでした。私はこれに非常に満足しており、この質問を提起したプロジェクトに使用したいと考えています。
アドバンテージ サーバーも良いものになることを願っていますが、レビューする時間がありませんでした。Firebird を確認/使用した後は、他に何かを試す必要はありません。
java - JavaDB 接続エラー (ネットワーク プロトコル)
これを使用してダービーに接続しようとしています:
しかし、私はエラーが発生します:
データベース名 (...) がネットワーク プロトコルで許可されている最大長を超えているため、接続を確立できませんでした。
この長さを伸ばす方法はありますか?
java - Java DB(Derbyという名前)をHibernateで使用するにはどうすればよいですか?
Eclipse Database Developmentを介してDerbyに接続できますが、Hibernateを介してEclipseDatabaseDevelopmentと同じURLでDerbyを接続することはできません。
エラー:
「原因:java.sql.SQLException:Derbyの別のインスタンスがすでにデータベースを起動している可能性があります」
java - Derby ログ ファイルのサイズを制限する
Apache Derby がアプリで SQLException をスローするたびに、アプリは derby.log ファイルの内容をサーバーに送信します。
詳細なログを取得するために、「derby.infolog.append」プロパティを true に設定しています。
ただし、ログにはデータベースへの接続が確立されるたびに起動時の出力も含まれるため、ログ ファイルが非常に大きくなっています。
注: Derby を組み込みモードで使用しています。
derby が derby.log ファイルに記録する行の総数を制限する方法はありますか?
たとえば、最新の 1000 行のログのみを記録してから、最も古いエントリを上書きし始めます。
私たちの目標は、エンド ユーザーから有用なデバッグ情報を取得することですが、ログ ファイルが管理できないほど大きくならないようにすることです。
前もって感謝します、
ジム
sql - 値としてワイルドカード(%)のみを使用したSQLLIKEパフォーマンス
where句がまったくない場合と比較して、値としてLIKEキーワードとワイルドカードを使用すると、クエリのパフォーマンスはどのようになるのでしょうか。
「WHEREALIKE'%'」などのwhere句について考えてみます。これは、列'a'のすべての可能な値と一致します。これは、where句がまったくない場合とどのように比較されますか。
私がこれを尋ねる理由は、ユーザーが検索する値を指定できるいくつかのフィールドがあるアプリケーションがあるからです。場合によっては、ユーザーは考えられるすべての結果を望んでいます。私は現在、次のような単一のクエリを使用しています。
'%'および'%'の値は、aおよびまたはbのすべての可能な値に一致するように指定できます。これは、アプリケーションで単一の名前付きクエリを使用できるので便利です。このためのパフォーマンスの考慮事項は何でしょうか。クエリオプティマイザは、LIKE'%'を単純にすべてに一致するように減らしますか?名前付きクエリ(プリペアドステートメント)を使用しているため、回答にも影響する可能性があることに気付きました。答えはおそらくデータベース固有であると思います。つまり、これはOracle、MS SQL Server、およびDerbyでどのように機能するのでしょうか。
これに対する別のアプローチは、ワイルドカードを入力するユーザーに基づいて3つの別々のクエリを使用することです。
Aはワイルドカードクエリです。
Bはワイルドカードクエリです。
AとBはワイルドカードです。
ワイルドカードなし:
明らかに、単一のクエリを持つことは、維持するのが最も簡単で簡単です。それでもパフォーマンスが良好な場合は、1つのクエリのみを使用します。
java - SQLite 、Derby vs ファイルシステム
私は、さまざまなファイルを読み書きする Java デスクトップ アプリケーションに取り組んでいます。より良い解決策は、ファイル システムを SQLite データベースに置き換えることだと思います。このシステムに移行してアプリケーションにデータベースを埋め込むのはどれくらい難しいですか? 実際のパフォーマンスの向上はありますか? どうもありがとう
java - ClassNotFoundException
Java DBと相互作用するJavaクラスを実行しようとすると、次のエラーが発生します。
ドライバーをロードしてみます:
ライブラリには、「derby.jar」が存在します。NetBeansIDE6.0を使用しています。
誰かが私がこの問題を解決するのを手伝ってもらえますか?
java - MS Access/ExcelP などのプログラムから、組み込みの Derby データベースにアクセスして分析できますか?
MS Access/Excel、Open Office などのプログラムから Java アプリケーションを使用して、組み込みの Derby データベースに保存されているデータにアクセスしたいと思いますか?
これを行う方法はありますか?これを実現できる唯一の方法は、Apache Derby に ODBC ドライバーが付属している場合だけだと思います。