0

SSIS 2008R2 で記述された SSIS パッケージを呼び出す C# で記述された Windows サービスがあります。パッケージは Excel スプレッドシートに接続します。次のように実行されます。

Application app = new Application();
Package pkg = app.LoadPackage(ConfigurationManager.AppSettings["SsisPkgLoc"].ToString(), null);
DTSExecResult pkgResults = pkg.Execute();

このサービスをインストールしてパッケージを実行すると、パッケージは次のエラーで失敗します

SSIS Error Code DTS_E_OLEDB_EXCEL_NOT_SUPPORTED: The Excel Connection Manager is not supported in the 64-bit version of SSIS, as no OLE DB provider is available.

ただし、WPF フォームから同じコードを呼び出すと、期待どおりに実行されます。SSIS から Excel への 64 ビットと 32 ビットの接続に問題があることはわかっています。私を困惑させているのは、同じコードが両方のメソッドから呼び出されていることです。

Windows サービスとして実行しているときに、別のドライバーを使用しようとしたり、失敗したりする理由はありますか?

4

1 に答える 1