2

csv からデータを読み取り、それを Excel ファイル (.xls) にダンプする SSIS パッケージがあります。最初は機能しませんでした。機能させるには、SSIS プロジェクトの 64 ビット ランタイム プロパティを false に変更する必要がありました。

「Any CPU」出力用に構築された別の Windows サービスからこのパッケージを呼び出す必要があります。これを行うと、同じ 64 ビット ランタイム エラーが発生し、パッケージが失敗します。サービスのランタイムを x86/x64 に変更できません。サービスから 32 ビット ランタイムで実行する必要があることをパッケージに伝えるためのソリューションはありますか?

4

2 に答える 2

3

このプロパティを false に設定してみてください (ソリューションのプロパティにあります):

ここに画像の説明を入力

また、Dtexec、dtutil、および SQL Server インポートおよびエクスポート ウィザードには、64 ビットと 32 ビットの両方のアプリケーションがあることを思い出してください。32 ビット環境でパッケージを開発し、そのパッケージを 64 ビット環境で実行する場合は、接続マネージャーが 64 ビットに準拠している必要があることに注意してください。Excel などの一部の接続マネージャーは、32 ビット環境でのみ機能します。

于 2012-07-25T08:34:54.770 に答える
0

EXEC コマンドを使用して 32 ビットの実行を強制することができます。

 EXEC SSISDB.catalog.create_execution
 @folder_name = @p_yourFolder,
 @project_name = @p_yourProject,
 @package_name = @p_yourProcess,
 @reference_id = @v_yourReferenceId,
 @use32bitruntime = 1,  --To force 32 bit runtime
 @execution_id =  @r_SSISDB_ExecutionID OUTPUT;

または、[32 ビット モードで実行] チェック ボックスが有効になっている Configuration\Advanced プロパティの SQL エージェントを使用します。

于 2016-03-29T20:45:51.567 に答える