在SSIS Oracle连接字符串中存储敏感密码

问题描述

要求- 我不希望我的密码显示给SSISDB中的任何人。

我的方法-

  1. 创建的Oracle连接字符串参数。

  2. 创建了一个存储密码的参数。

    enter image description here

  3. 我已使用连接管理器表达式将密码(变量)附加到连接字符串参数。

    enter image description here

  4. 解决方案部署到ssisdb。

  5. 在DEV环境中创建了一个Password变量,并将其设置为敏感状态,以便没人能查看它。

    enter image description here

  6. 在项目配置中选择该密码,以便在执行ssis软件包时使用password变量。

    enter image description here

  7. 创建了一个sql代理作业来执行程序包。

  8. 在配置sql代理作业时,我选择了DEV环境,但是由于我没有使密码在SSIS包中敏感,而在DEV Environment变量中敏感,因此它引发了错误

    enter image description here

如何解决

如果我在程序包中使其敏感,那么变量将不会被附加在连接字符串中。

解决方法

当您将某件商品标记为敏感商品时,必须始终将其视为同一商品。在您的程序包中,该参数未标记为敏感参数。如果将其标记为此类,那么在尝试字符串连接表达式时会遇到此异常。

enter image description here

如果是我,我将撤消用于构建连接字符串的字符串连接。相反,您可以将密码直接提供给连接管理器的password属性。切换到“连接管理器”选项卡,您将看到软件包列表,然后直接修改“密码”属性

enter image description here