sql >> データベース >  >> RDS >> Sqlserver

dtexecを使用したSSISパッケージの実行

    私が対処する最初のエラーは、「OLE DBプロバイダーが利用できないため、Excel接続マネージャーは64ビットバージョンのSSISではサポートされていません。」

    すぐに使用できるExcelドライバーは、32ビットアドレス空間にのみ存在します。 BIDS / SSDTは32ビットアプリケーションであるため、Excelのソースと宛先は問題なく機能します。ただし、コマンドライン/ SQLエージェントから実行する場合は、32ビットバージョンのDTEXECプログラムを明示的に使用する必要があります。

    ステップ1は、エージェントが自分で実行するサーバーのコマンドラインからパッケージを実行できることを確認することです。 SQL Serverが通常の場所にインストールされていると仮定すると、おそらく次のDTEXEC.exeのいずれかを使用できます

    C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTExec.exe
    c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
    C:\Program Files\Microsoft SQL Server\110\DTS\Binn\DTExec.exe
    C:\Program Files\Microsoft SQL Server\120\DTS\Binn\DTExec.exe
    C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\DTExec.exe
    C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
    C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTExec.exe
    C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\DTExec.exe
    

    (x86)バージョンを使用することをお勧めします。将来の読者の皆さん、もしあなたがたまたま32バージョンのWindows(Windows 2003かもしれない)を使っているのなら、最初の3つがあなたが利用できる唯一のオプションになるでしょう。 Vivekのエラーメッセージが示しているように、彼は64ビットモードでSSISパッケージを実行しています。

    dtexecは、コマンドラインスイッチ / X86を提供します 32ビットと64ビットの両方の操作で同じ実行可能ファイルをシームレスに使用できるようにします。 嘘! ドキュメントはそれを呼びかけていますが、誰がドキュメントを読んでいますか?

    このオプションは、SQLServerエージェントでのみ使用されます。コマンドプロンプトでdtexecユーティリティを実行した場合、このオプションは無視されます。

    したがって、明示的なパスを指定してパッケージを実行する必要があります

    C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe /file C:\folder\GICSReport.dtsx

    出力に「保護されたXMLノードの復号化に失敗しました」と表示されます。また、構成ファイルを使用しているため、PackageProtectionLevelをデフォルトのEncryptSensitiveWithUserKeyからDontSaveSensitiveに変更できる可能性があります。この機能は、機密データ(パスワード)の偶発的な公開を防ぐために存在しますが、構成ファイルで既に処理しているため、問題にはなりません。 ...それは、私が考えている他のパッケージ保護レベルの1つからのエラーである可能性があります。

    とにかく、最初に32ビットの実行可能ファイルから実行してみてください。それでも問題が解決しない場合は、示されているようにパッケージ保護レベルを変更してみてください。これらのいずれかによってパッケージが期待どおりに実行される場合は、SQLエージェントから同じコマンドを実行してみてください。

    すべてが機能する場合は、これを回答としてマークします。そうでない場合は、生成されている現在のエラーでチケットを更新してください。詳細をお尋ねします。



    1. SQLServerでのEXCEPTのしくみ

    2. MySQLでの投票と調査のためのデータベースを設計するためのガイド

    3. 動的に生成されたピボットテーブルを一時テーブルに入れる

    4. 破損したデータベースpostgresqlを修復します