コマンドラインからdtsxパッケージを実行すると、次のエラーが表示されてトリガーされます
1.接続が見つかりません。特定の接続要素が見つからない場合、接続コレクションによってエラーがスローされます。
2.パッケージ「xxxxxxx」内のオブジェクトへのパッケージパスを解決できません。パッケージパスが有効であることを確認してください
3.パッケージパスが、見つからないオブジェクトを参照しました。これは、パッケージパスを見つけられないオブジェクトに解決しようとしたときに発生します。
しかし、パッケージをビジネスインテリジェンス開発スタジオで実行すると、これは正常に機能します。
コメントへの回答を待つ間、ここで推測してください。通常、パッケージがBIDSで正常に実行されてもコマンドラインからは機能しない場合、64/32ビットの非互換性に関連していることがわかります。
Excel、Access、またはシートの下でJETドライバーを使用するものを使用していますか?これは32ビットモードでのみ機能します。
64ビットOSでは、デフォルトで新しいODBC接続を作成すると、32ビットバージョンがアクセスできない64ビット名前空間に作成されますか?
InformixまたはUDB/DB2ドライバーを使用していますか?私はそれらの32バージョンしか見つけませんでした。
dtexec は、SSISパッケージを実行するためのコマンドラインメカニズムです。 64ビットOSには2つのフレーバーがあり、どちらもdtexec
という名前で、通常、32ビットはWindowsパス環境変数で参照されます
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
_
そのパッケージがSQL Server(DEVSQL01)のMyProjectフォルダーにある場合、これは同じパッケージを実行するための呼び出しになります。
_"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
_
コメントを見ると、使用法の唯一の違いは、すべてを二重引用符で囲んでいることです。前後の引用符なしで試してください。
sSISパッケージを呼び出すには、テキストの下に入力してください
dtexec/f/set\package.variables [Variable];値
例:-dtexec/f E:\ test_package\test_package\Package.dtsx/set\package.variables [id]; 1
/ SQLオプションは、MSDB->サーバー名\ Stored Packages\MSDB \に展開されたパッケージ用です