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

コマンドラインからdtsxパッケージを実行する方法

    コメントへの回答を待っている間、ここで推測します。通常、パッケージはBIDSで正常に実行されますが、コマンドラインからは機能しません。これは、64/32ビットの非互換性に関連していることがわかります。

    Excel、Access、またはシートの下でJETドライバーを使用するその他のものを使用していますか?これは32ビットモードでのみ機能します。

    64ビットOSでは、デフォルトで新しいODBC接続を作成するときに、32ビットバージョンがアクセスできない64ビット名前空間に接続を作成しますか?

    InformixまたはUDB/DB2ドライバーを使用していますか?私はそれらの32のバージョンしか見つけませんでした。

    コマンドラインからパッケージを実行する

    dtexec SSISパッケージを実行するためのコマンドラインメカニズムです。 64ビットOS用に2つのフレーバーがあり、どちらもdtexecという名前です。 通常、32ビットはWindowsPath環境変数で参照されます

    64ビットOSでは、64ビットへのデフォルトパスは"c:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"になります。

    64ビットOSでも、32バージョンへのパスは"c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe"になります。

    C:\ Src \ MyProject \ MyProjectにあるFooBar.dtsxという名前のパッケージを実行するには、呼び出しは次のようになります

    "c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx
    

    そのパッケージがMyProjectフォルダー内のSQLServer(DEVSQL01)にある場合、これは同じパッケージを実行するための呼び出しになります。

    "c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /SQL \MyProject\FooBar /SERVER DEVSQL01
    

    編集

    構成を適用するには、/CONFを指定する必要があります オプション

    "c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe" /file C:\Src\MyProject\MyProject\FooBar.dtsx /CONF C:\FooBar.dtsConfig
    

    コメントを見ると、使用法の唯一の違いは、すべてを二重引用符で囲んでいることです。前後の引用符なしで試してください。



    1. MySQLデータベースの使い方を学ぶ

    2. JDBCドライバーのロードにおけるclassNotFoundException

    3. PHPを使用して画像をデータベースにアップロードおよび保存することはできません

    4. MySQLレプリケーション:データベースを指定しない場合、log_binはすべてをログに記録しますか?