問題タブ [firebird-3.0]

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.

0 投票する
0 に答える
215 参照

.net - Firebird 3、ADO.NET データ プロバイダー 5.0.5、メモリが徐々に増加

firebird 2.1 を 3.0 (SuperServer) に変更してから、1 か月ほどかけてメモリを最大ハードウェア (20GB) まで徐々に増やしていきます。Firebird サーバーには、合計サイズが約 30 ギガバイトの 6 つのデータベースがあります。クライアント アプリケーションは、ADO.NET Data Provider バージョン 5.0.5.0 を使用する .NET WinForm および Windows Service です。

すべてのクライアント アプリケーションとサービスを終了しても (開いている接続はありません)、firebird プロセスは引き続き 20 ギガバイトのメモリを使用し、firebird サーバーを再起動したときにのみ解放されます。

以前のバージョンの Firebird では、この問題は同様の大規模データベースや同じクライアント アプリケーションでは発生しません (コードに変更はなく、新しい ado.net プロバイダー バージョンに切り替えるだけです)。

これは標準的な動作ですか?新しいバージョンの Firebird 構成に特別な取り決めはありますか? おそらく、私は Firebird 3 の動作のいくつかの目新しさを見落としているのでしょうか?

はい、usingステートメントとdbConnection.Close();

どんな知恵でも嬉しいです

0 投票する
1 に答える
1797 参照

delphi - FireDAC を使用して Firebird 3.0 で WireCompression を有効にする方法

WireCompression を使用して Firebird Server 3.0 に接続しようとしています。これはバージョン 3.0 以降の新機能であり、そうするのに苦労しています。私が見つけることができる唯一の文書化された指示は、firebird.conf で WireCompression を TRUE に設定し、接続パラメータ「wirecompression=true」を使用することです。

これは私がこれまでに得たものです:

firebird.conf:

接続するコード:

接続は確立されていますが、vConnectionInfo は次のように述べています。

これらの最後の 2 行は、プロトコル v13 (P13) があり、データが暗号化されている (:C) ことを示していますが、zlib 圧縮を示す P13:CZ である必要があります。

クライアント側のデバッグ フォルダーに zlib1.dll があり、zlib1.dll はサーバーの Firebird サーバー フォルダーにあります。

データベースに接続できます。エラー メッセージは表示されません。

圧縮を適用するためのアイデアが不足していますが、皆さんが私を助けてくれると信じています!

0 投票する
3 に答える
386 参照

sql - フィールド値に基づく 2 つのカウント

1 から 5 までの値をtable1持つテーブルがあります。だから私はこのようにすることができます:field1field1 = 1field1 <> 1

ただし、これにより、結果の2つのレコードとして2つの正しい値が得られますが、2つのカウント値を1つのselect SQLの列として取得する方法はあるのでしょうか?

0 投票する
3 に答える
925 参照

database - Firebird 3.0 bigint と Firebird 2.5 integer のカウント

私のシステムでは、Firebird 2.5 から 3.0 への移行後、多くのレポートやその他の機能で、期待されていたのは Integer であり、現在のものは であるという問題が発生し始めましたLargeInt。調べてみると、3.0 ではカウントを使用した検索でbigInt列が返されるのに対し、2.5 では整数列が返されることがわかりました。

私が知っている方法で解決するには、エラーが発生し、テストされ、機能しているすべてのものにキャストする必要がありますが、それは大きなシステムであり、多くの作業が必要になります。

Firebird自体でこれを解決する方法を知っている人はいますか? いくつかの構成、または何か?

0 投票する
3 に答える
101 参照

firebird - 外部キーに応じてエントリをカウントする

T_FATHER私は 2 つのテーブルを持っています。それらを と と呼びましょうT_CHILD。各父親は次のように複数の子を持つことができます。

ここで、テーブルにカウンターを追加しT_CHILDます。これは、1 から始まり、新しい子供ごとに 1 を追加しますが、グローバルではなく、父親ごとに、次のようになります。

私の最初の考えは、指定された父親に存在する子供の数をカウントし、カウンターに1を追加するbefore-insert-triggerを作成することでした。これは、同じカウンターで終了する 2 つの挿入が同時に行われない限り、正常に機能するはずです。これが実際には起こらない可能性は高いですが、後悔するよりは救ってください。

発電機を使用できるかどうかはわかりませんが、父親ごとに発電機が必要になるため、そうは思いません。

私の現在のアプローチは、前述のトリガーを使用し、FATHER_ID+COUNTERに一意のインデックスを追加して、同時挿入の 1 つだけが通過するようにすることです。クライアント側で例外を処理する必要があります (そして、失敗した挿入を再試行します)。

これを Firebird で直接処理するより良い方法はありますか?

PS: 2 つのテーブルのいずれも削除されないため、これは問題ではありません。

0 投票する
2 に答える
210 参照

c# - SELECT WHERE column1 = 1 AND column2 = MAX(column2)

私はこのようなテーブルを持っています

今私がしたいのは、Column 1, Column 2, Column 3WHERE Column2 = 1 AND Column 3 is maximum for column 2 ( 4)を選択することです

0 投票する
1 に答える
1841 参照

firebird - SYSDBA 以外のユーザーが所有するデータベースを作成する方法は?

isql コマンドを発行すると、次のようになります。

次のエラーが表示されます。

私は何が欠けていますか?ユーザー milenio に必要なアクセス許可を付与するにはどうすればよいですか?

0 投票する
1 に答える
1283 参照

sql - 日付形式を「yyyy mm/dd」として取得するには?

ビューからタイムスタンプフィールドをこの形式で出力しようとしているyyyy mm/ddので、次のように試しました。

ただし、パディングゼロはないので、どのように追加しますか?

Firebird 3.0 を使用する