0

そのため、ネットワーク上の共有ファイルへのアクセスをログに記録しようとしています ( Abdollah Zawari の ShareMoniterを変更しています)。次のように openfiles.exe を開始します。

        var process = new Process();
        process.StartInfo.FileName = "openfiles.exe";
        process.StartInfo.Arguments = "/query /FO CSV /v";
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.CreateNoWindow = true;
        process.StartInfo.RedirectStandardOutput = true;
        try
        {
            process.Start();
            if ((process.StandardOutput != null))
            {
                var result = process.StandardOutput.ReadToEnd().Trim().Replace("\"", "");
                var lines = result.Split('\n');...

結果を Access データベースに記録したいのですが、プロジェクトのターゲット プラットフォームを x86 に設定した場合にのみ、jet.Oledb.4.0 または ace.oledb.12.0 が機能します。

問題は、x86 用のプロジェクトを実行したときに openfiles.exe が何も返さないことです (openfiles.exe は明らかなエラーなしで開始および終了しますが、空の文字列 "" が返されます)

私は特にこれらの分野では非常に初心者なので、この問題に関するアドバイスは大歓迎です

事前に感謝

4

1 に答える 1

0

使用している Oledb のバージョンは 64 ビットをサポートしていません。32 ビットと 64 ビットの両方で動作する新しいバージョンを使用する必要があります。代わりに Microsoft Access データベース エンジン 2010 を使用してデータベースにアクセスすれば問題ありません

于 2013-07-30T23:38:32.527 に答える