問題タブ [extensible-storage-engine]
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.
c++ - ESE CPP API を使用して ESE データベース ファイルから文字列値を読み取る方法は?
ESE データベース ファイル、つまり WebCacheV01.dat を解析しています。これは、IE 10 がすべての閲覧履歴とその他の情報の保存を開始したファイルです。このファイルを解析するために JET Blue CPP API を使用しています。
整数型または長整数型の列値を読み取ることはできますが、文字列型の列値を読み取ることはできません。
たとえば、「MSysObjects」テーブルを開いて、「Name」列の値を取得したいとします。
サンプルコードはこちら
JetRetrieveColumn の戻り値は -1507 で、これは JET_errColumnNotFound に他なりません。ESEDatabaseViewer ツールを使用して、MSysObjects テーブルに 25 列が含まれていることを確認しました。つまり、列 18 は無効ではありません。
ESE データベースから文字列値を取得する方法を知っている人がいたら教えてください。
よろしくお願いします。
internet-explorer - Internet Explorer - 組み込みデータベース
すべてのブラウザは組み込みデータベースを使用しています。ウィキペディアの情報によると、Google Chrome は SQLite と LevelDB を使用しているようです。
[SQLite 用 Wiki] - 「ブラウザ Google Chrome、Opera、Safari、および Android ブラウザはすべて、ブラウザ内の SQLite データベースに情報を保存したり、そこから情報を取得したりできます....」 [LevelDB 用 Wiki] - 「LevelDB 用の Wiki」 Google Chrome の IndexedDB のバックエンド データベースとして使用され、Riak でサポートされているバックエンドの 1 つです。」
しかし、IE のブラウザー組み込みデータベースが何であるかについての明確な情報はありません。Extensible Storage Engineと一部のSQL Server Compactであるとブログで主張する人もいます。しかし残念なことに、Wiki ページや一部の公式 Web ページで同じことが確認されていません。
IE の組み込みデータベースに関する具体的な情報を持っている人はいますか。
また、モバイルブラウザ、Firefox、Safariの情報もあると助かります。
PS私は誰かがブログに載せた情報を探しているわけではありません. 私はそのようなブログを見つけましたが、私にとっては信頼するのが難しい. 公式コミュニティやウェブページなどから提供される情報をもっと探しています。
c# - ManagedEsent を使用して ESE データベースにアクセス/アタッチしようとすると問題が発生する
ManagedEsent ライブラリを使用して ESE データベース (.edb) を読み込もうとしています。ただし、データベースのセットアップ時にエラーが発生します。エラーは、データベースの接続時 (JetAttachDatabase() の呼び出し時) に発生しているようです。
表示されるエラー メッセージは、「ソフト リカバリはバックアップ データベースを対象としています。代わりに復元を使用する必要があります」です。
以下は私のコードです:
私が得ている例外は次のとおりです。
これを引き起こしている可能性のあるアイデアはありますか?添付している .edb ファイルは無効である可能性がありますか?
odbc - ESE edb ファイルにアクセスするための ODBC ドライバー
Windows 7 で edb ファイルにアクセスするための odbc ドライバーです。
Query Tool ODBC ツールから edb ファイルにアクセスしようとしていますが、db に接続できないまでは.
edb ファイルへの接続方法を教えてください。edb ファイルの ODBC ドライバはどこにありますか? Microsoft のドキュメントをチェックインしましたが、私の努力はすべて無駄です。
extensible-storage-engine - クリーン シャットダウンを行わずに ESE データベースを接続する
"Vulcan.edb"
使用中のアプリケーションからコピーした ESE データベース ( ) があります。当然、これはデータベースが「ダーティ シャットダウン」状態にあることを意味します。幸いなことに、私はデータベースのログ ファイル ( "V01.log"
)を持っています。私が見つけることができるすべての 同様の 質問によると、データベースを接続してエンジンに復元させることができるはずです。マネージ ESE API を使用して、データベースを接続するために使用しているコードを次に示します (アンマネージ C++ ポートは簡単なはずです)。
実際、データベース ファイルとログ ファイルの両方を にコピーし<directory of database>
て実行する
edbntutl.exe /r V01 /l <directory of database> /s <directory of database> /d <directory of database>
と、データベースが使用可能になり、コード内でアタッチ可能になります。ただし、データベースを手動で回復する手順を実行しないと、コードの呼び出しに失敗JetAttachDatabase
し、エラーが発生しますJET_errDatabaseDirtyShutdown
。
では、私のコードがデータベースを自動的に回復しないのはなぜでしょうか? 文書化されていないことを行っているかedbntutl
、エンジンがデータベースを回復できるようにするためにセッションの構成に何かが欠けています。前者は問題外ではありませんが、そうであれば非常に残念であり、代わりに何かが欠けているだけだと私は信じがちです.
注: 「コードを実行する前に esentutil を実行する」に相当する回答は、ユーティリティがパブリック API で利用できないことを行っているという証拠がなければ、正しいとは見なされません。
c - 複数値を持つ列で itagSequence = 0 の場合、JetRetrieveColumns を返す値の型はどれですか?
多値列の値がいくつあるか知りたいです。MSDN によると、「JET_RETRIEVECOLUMN の itagSequence は 0 になる可能性があります。 itagSequence が 0 の場合、列データではなく、多値列のインスタンス数が返されます。」(JetRetrieveColumns 関数を使用する場合) しかし、返される値のデータ型は何ですか?
列が多値かどうかの確認
多値列の値の数量を取得する
では、返されるデータのタイプは何ですか?