0

Scripting.FileSystemObject TextStream オブジェクトは、システム コードページによって変更された Windows スタイルの Unicode と「プレーン テキスト」をサポートしていますが、UTF8 をサポートしていないようです。ただし、IIS ログファイルなど、更新のためにロックされているファイルを実際にストリーミングすることはできます。

ADODB.Streamは UTF-8 (または raw バイナリ) をサポートしますが、ファイルがメモ帳などで開くことができるにもかかわらず、更新のためにロックされているファイルを" LoadFromFile " しません。(エラーが発生します: ADODB.Stream ファイルを開けませんでした。エラー コードは 0x800a0bba です) -- これは、ストリームを「読み取り」モードまたは「共有」モードで開こうとしたにもかかわらずです。サーバー側の COM オブジェクトは、私が実際に要求したよりも多くのロックを要求しているようです。

他の選択肢はありますか?これらを DCOM 経由でリモートで呼び出していますが、ホスト システム自体でテストしても同じ動作になります。

理想的には、ストリームとして機能し (つまり、シーク メカニズムをサポートする)、生のバイト (バイナリ) をストリーミングするか、プレーン テキスト、Unicode、および UTF-8 を処理でき、書き込み用に開いているファイルを読み取ることができるコンポーネントが存在します。 . そのような獣を知っている人はいますか?

4

1 に答える 1

0

これがあなたが探しているものかどうかはわかりませんが、独自のサーバー側ストリーマーを構築できます。 IPipeByteをご覧ください。これは win2k から存在するインターフェイスであり、クライアントとサーバーの間でバイトを簡単にストリーミングできるようにします。ファイルから実際に読み取りを行うため、パーミッションの問題は、OS が課すものだけになります。もちろん、テキスト形式はまったく問題になりません。

パイプの使用に関する優れた記事があり、ここで見つけることができます。サンプル コードはありませんが、オフラインの MSDN で見つかる可能性があります。

于 2009-04-29T06:52:33.400 に答える