2017-07-18 39 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中的设计时间值时,它仍然很奇怪。