2017-07-18 52 views
0

被取代,我們從甲骨文11移動數據使用SSIS項目部署模型到SQL 2014我們使用Attunity 3.0連接器。SSIS Oracle連接字符串作爲項目參數在運行時沒有

連接字符串Oracle數據源是一個項目的參數,並且也存儲在SQL的表。

我們使用自定義的存儲過程,

  • 獲取存儲在SQL表連接字符串
  • 套項目參數(通過[SSISDB]。[目錄]。[set_execution_parameter_value])
  • 執行包(通過[SSISDB]。[目錄]。[start_execution])

我們使用[SSISDB]。[內部]。[execution_parameter_values]以檢查參數值運行期間被替換時間與我們存儲在後端的連接字符串。

有趣的是,即使在運行時Oracle連接字符串被替換,程序包仍會嘗試使用它已經遵守的連接字符串(Project Params)。當以類似的方式連接到SQL源時,我們沒有相同的問題。

你有什麼建議嗎?這是一個已知的問題嗎?

回答

0

找到解決方案。事實證明,我們存儲在表中的oracle連接字符串沒有用「SERVER =」作爲服務器名稱的前綴。連接字符串將立即開始與例如 - 'x1abc01.something.com:1234/x1abc01;ORACLEHOME=;ORACLEHOME64=;WINAUTH=0;'。改變了連接字符串 'SERVER = x1abc01.something.com:1234/x1abc01;ORACLEHOME=;ORACLEHOME64=;WINAUTH=0;'現在開始工作。我們通過使用一個連接字符串部署ssis解決方案並使用數據庫中不同的連接字符串對其進行了更改,並且覆蓋的值仍然存在,我們對其進行了測試。

但是,當運行時連接字符串具有無效值並且未將其報告爲錯誤並且ssis悄悄切換到Project Param中的設計時間值時,它仍然很奇怪。