使用ADO.在SSIS中具有参数化凭据的网络连接管理器



我正在开发一个SSIS包,用于从一个旧数据库提取数据并移动到SQL数据库。连接到源数据库的唯一方法是使用ODBC。我建立了一个ADO。. NET连接管理器和项目参数来存储用户名和密码。然后我进入连接,选择了"参数化"。我选择了用户名和密码,并链接到我设置的项目参数。连接继续失败。我能够让它工作的唯一方法是允许包保存敏感数据并将密码保存在连接管理器中(编辑,输入用户名和密码,然后保存)。如果我依赖于参数,它就不起作用。我还尝试部署到SSIS目录,然后通过转到包并在Connections Managers选项卡下输入凭据来执行。我能让它工作的唯一方法是允许它保存敏感数据,直接在包中输入凭据,然后保存。

我不明白为什么在SSMS中执行时,它不会从参数或连接管理器传递用户名和密码。我得到的错误是缺少密码。

任何帮助都将非常感激!我对SSIS并不陌生,但我尝试了所有方法,似乎都无法使这个方法奏效。我一直在使用ADO。. NET和ODBC.

有几件事要做:

  • 设置SSIS包ProtectionLevel为SaveNoSensitive
  • 进入连接并选择"参数化…"然后选择整个连接字符串。
  • 为项目级参数分配适当的值,该参数用于参数化整个连接字符串。

最新更新