SSIS Oracle 连接字符串作为项目参数不会在运行时替换



我们使用SSIS项目部署模型将数据从Oracle 11移动到SQL 2014。我们使用Attunity 3.0连接器。

oracle数据源的连接字符串是一个项目参数,也存储在SQL的表中。

我们使用自定义存储过程

  • 获取存储在 sql 表中的此连接字符串
  • 设置项目参数(通过 [SSISDB](。目录]。[set_execution_parameter_value] (
  • 执行包(通过 [SSISDB](。目录]。[start_execution] (

我们使用 [SSISDB]。内部]。[execution_parameter_values] 检查参数值是否在运行时替换为我们存储在后端的连接字符串。

有趣的是,即使 Oracle 连接字符串在运行时被替换,包仍然尝试使用它已遵守的连接字符串(项目参数(。以类似的方式连接到 SQL 源时,我们没有同样的问题。

你有什么建议吗?这是一个已知问题吗?

找到了解决方案。事实证明,我们存储在表中的预言机连接字符串没有在服务器名称前面加上"SERVER = "。连接字符串将直接以 For Eg - 'x1abc01.something.com:1234/x1abc01;ORACLEHOME=;ORACLEHOME64=;WINAUTH=0;"开头。将连接字符串更改为">SERVER =x1abc01.something.com:1234/x1abc01;ORACLEHOME=;ORACLEHOME64=;WINAUTH=0;",它现在开始工作。我们通过部署一个连接字符串的 ssis 解决方案并使用数据库中的不同连接字符串对其进行更改来对其进行测试,并且覆盖的值仍然存在。

但是,当运行时连接字符串具有无效值并且未报告为错误并且 ssis 悄悄切换到 Project Param 中的设计时值时,断开连接仍然很奇怪。

最新更新