問題タブ [esent]

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 投票する
2 に答える
2428 参照

esent - Esentデータベースエンジンは特定のページサイズに制限されていますか?

ページサイズに問題があるため、esentデータベース(Windows.edb)を開くときに問題が発生しました。私のシステムのWindows.edbのページサイズは32Kです。JET_paramDatabasePageSizeを介してこれを設定すると、JetInitはエラー-1213を返します(データベースのページサイズがエンジンと一致しません)。Laurion Burchallは、データベースへの読み取り専用アクセスのみが必要になったら、JET_paramRecoveryをオフにすることを提案しました。それで私の問題は解決しました。

今まで。データベースを完全にシャットダウンしていません。JET_paramRecovery = Onを使用すると、JetInitが自動的にリカバリを実行し、データベースを読み取らせると思います。しかし、それを試してみると、古い-1213エラーが発生します。

これで、ESENTUTLを使用してファイルを修正できますが、アプリのダミーユーザーは修正できません。リカバリをオンにして、任意のDatabasePageSizeを定義できる方法はありますか?データベースの場所にログファイルはありません(そして、ログパスを同じディレクトリに設定して、他の場所に書き込まれないようにします)。

これは、私のマシンのエンジンがページサイズまたはデータベースをサポートしていないことを意味しますか?または、別のマジックスイッチを設定することで問題を解決できますか?

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

.net - Extensible Database Engine; テーブルを関連付けることができます

ESE テーブルを相互に関連付けることはできますか?

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

c++ - esent.h がありません

このプログラムを実行しようとしていますが、「esent.h No such file or directory」というエラーが表示され続けます

何が問題になる可能性がありますか?.

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

c++ - C++の例の基本的なEsentの設定

このesentの例をc++開発者向けに試しています。最新のWindowsSDKをインストールし、Dec C ++を使用しています。C:\ Dev-Cpp\includeにインクルードがあります。esent.hをインクルードディレクトリにコピーしてみました。しかし、それでも非常に多くのエラーが発生します。これがコード全体です。

コードを正常にコンパイルするには、何をする必要がありますか?

コンパイラエラーの一部を次に示します。

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

sqlite - ESENTパフォーマンスVista対XP

私は自分の会社のためにMicrosoftのESENT(Extensible Storage Engine)をテストしているところです。しかし、私は奇妙なパフォーマンス結果を持っています。

同様のテクノロジー(SqLite)と比較すると、データを読み取るときのパフォーマンスは非常に弱かった。

私のパフォーマンステストでは、データベース内のすべてのデータを多かれ少なかれランダムに読み取りました。同じデータを2回読み取らないので、キャッシュは役に立たないと思います。データが「ホット」なときの速度を得るために、テストを何度も実行します。long型のIDにインデックスを使用します。次の関数を使用します:JetSetCurrentIndex、JetMakeKey、JetSeek、JetRetrieveColumn。

Windows Vistaでは、パラメーターJET_paramEnableFileCacheをアクティブにしたところ、奇跡が起こり、SqLiteよりもさらに高速でした。

ただし、このパラメーターはWindows Vista以降で使用できるため、Windows XPのパフォーマンスはSQliteに匹敵するものではありません(15倍遅いなど)。毎回ディスクを読み取ります。Windows XPでSqliteを使用する場合、すべての読み取りテスト(最初のテストを除く)がディスクで読み取られるわけではありません。

別のパラメーターまたは違いを生む何かが欠けていますか?

どうもありがとう !

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

exchange-server - Edbファイルのメッセージテーブルの構造を取得するにはどうすればよいですか?

オフラインのedbファイルを読み込もうとしています。現在持っているのは、テーブルの構造を知りたいedbファイルのテーブルです。

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

windows - ESENT配信権

esent.dll (Extensible Storage Engine) の配布権について疑問に思っていました。

Windows に含まれていることは知っていますが、Windows のバージョンによっては同じではありません。

たとえば、Windows 2000 では初期化が異なり、Windows Vista+ ではいくつかの興味深いパラメータが追加されています。

では、クライアント OS に応じて異なる方法でソフトウェアをプログラミングする代わりに、最新バージョンの esent.dll を取得して、ソフトウェアと共に配布することはできますか?

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

windows - edbデータベースのトランザクションログファイル

edbデータベースの多様なコレクションからデータ(ダンプと列の選択的読み取り)を抽出しようとしたときに、根本的な問題に直面しました。いくつかのログファイルが付属しているedbデータベースがあります。データベース内にどのような情報があるかはわかっていますが、その半分だけが抽出されています。残りの半分がログファイルのどこかで眠ってしまうのではないかと心配しています。EDBエンジンはログファイルの場所を認識しており、データベースを接続するときに自動的にログファイルをロードすると仮定しました(JET_paramSystemPath、JET_paramLogFilePath、およびJET_paramBaseNameが適切に設定されています)。それは間違った仮定ですか?もしそうなら、ログもロードするにはどうすればよいですか?

または、トランザクションをEDBファイルにコミットして、ログを削除することもできますか?

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

database - テーブル インデックスのエントリのダンプ

顧客 EDB データベースのテーブルのプライマリ インデックス内をシークしようとしています。そして私は惨めに失敗します。JetGetIndexInfoを使用してインデックス情報を取得し、インデックスについてすべて知っています (これはプライマリ インデックスであり、使用されている列はわかっています)。パフォーマンスを最大化するために、既知の値と既存の値のインデックスをシークしたいのですが、JetSeekは、検索したいキーを見つけることができないと主張しています。

現在、インデックス キーをダンプする方法を探しています。そうすれば、使用しているキーに何かを追加する必要があるか、何らかの方法で変換する必要があるかを確認できます (それが正しいキーであると確信しています)。または、何が問題なのかを見つけるための別のトリックはありますか?

失敗の原因と思われる詳細の 1 つは、 MSysObjectsテーブルのKeyFldIDs列のエントリである可能性があります。特定のインデックスには、いくつかのエントリがあります。自分でインデックスを作成した場合、そのフィールドは通常空白です。それは何をするためのものか?


UPDATE @Laurion: データベースで dbutil を実行できました。関連する抜粋は次のとおりです。

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

c# - C# - ESENT db メモリ リーク?

ESENT ManagedInterface (http://managedesent.codeplex.com/) を使い始めたところです。メモリリークの問題があるかどうか疑問に思っています。

私がやっていることはかなり単純です。サンプル コードに従いましたが、すべての行に非常に大きな文字列データ (10KB 以上) を配置し、合計で 10000 行を生成します。

より多くの行が挿入されると、メモリ使用量が増加します。100,000 行ほど挿入すると、プログラムは 1 GB のメモリを消費して停止します。

これがコードです。

上記のコードでは、約 100 MB になります。Api.JetTerm(instance) を実行した場合にのみ、メモリが解放されます。

私の実際の問題では、大量のデータの行を何度も挿入する必要があるため、最終的にメモリが使い果たされるため、この方法では機能しません。

誰でもこれで私を助けてもらえますか?

**トランザクションをコミットしたにもかかわらず、esent がメモリを保持するのはなぜですか?

私はそれがメモリを保持している esent 内の元に戻すものであると疑っています.もしそうなら、それをオフにする方法は? 元に戻す必要はありません**

ありがとう

PS: この test() メソッドを 32 ビットと 64 ビットの両方の Windows で試しましたが、どちらも同じメモリの問題を抱えています。