2017-07-18 18 views
0

SSISプロジェクト展開モデルを使用してOracle 11からSQL 2014にデータを移動します。 Attunity 3.0コネクタを使用します。SSIS実行時にプロジェクトパラメータとしてのOracle接続文字列が置換されない

oracleデータソースへの接続文字列はプロジェクトパラメータであり、SQLのテーブルにも格納されます。

SQLテーブルに格納されている私たちは、

  • は、この接続文字列を取得し、カスタムストアドプロシージャを使用

  • セットプロジェクトパラメータ([SSISDB]を経由して。[カタログ]。[set_execution_parameter_value])
  • は、パッケージを実行([SSISDB]。[カタログ]。[開始時])

[SSISDB]。[internal]。[execution_parameter_values]を使用して、実行中にパラメータ値が置き換えられていることを確認します私たちがバックエンドに格納した接続文字列との時間。

興味深いのは、Oracle接続文字列が実行時に置き換えられても、パッケージはそれに従っている接続文字列(Project Params)を使用しようとしていることです。同様の方法でSQLソースに接続するときにも同じ問題はありません。

ご意見はありますか?それは既知の問題ですか?

答えて

0

解決策が見つかりました。表に格納されたoracle接続文字列にサーバー名の前に "SERVER ="が付いていなかったことがわかります。接続文字列はすぐにFor Eg - 'x1abc01.something.com:1234/x1abc01;ORACLEHOME=;ORACLEHOME64=;WINAUTH=0;'で始まります。接続文字列を 'SERVER = x1abc01.something.com:1234/x1abc01;ORACLEHOME=;ORACLEHOME64=;WINAUTH=0;に変更しました。それは今働き始めた。 1つの接続文字列を使用してssisソリューションを展開し、データベースとは異なる接続文字列で変更し、上書きされた値が維持されるようにテストしました。

しかし、実行時接続文字列が無効な値を持ち、エラーとして報告されず、Project Paramの設計時の値に静かに切り替わると、接続が切断されるというのはまだ奇妙です。

関連する問題