2009-06-18 83 views
1

在一个SSIS包中,我有一个使用Http连接管理器的Web服务任务。我需要为连接设置证书,以便它可以使用远程Web服务进行身份验证。我可以在设计时设置它们,但是我希望使用XML包配置文件将这些凭据提供给包。如何使用配置文件设置SSIS Http Connection Manager凭据?

问题是,连接的凭据不会显示在可配置的属性中。我曾尝试以编程方式设置这一点,但我似乎无法以这种方式无论访问凭据:

Dim webConnMgr As ConnectionManager = Dts.Connections("My web service") 
Dim webConn As Wrapper.ConnectionManagerHttpClass = _ 
    CType(webConnMgr.InnerObject, Wrapper.ConnectionManagerHttpClass) 
webConn.? 

任何想法?

回答

0

听起来像您需要将配置文件中的值分配给包中的变量。然后你可以从你的脚本任务(Dts.Variables(“VariableName”)。Value.ToString,如果我没有记错的话)访问变量!)。

+0

精细运行SSIS,但遗憾的是没有解决如何设置连接的凭据这些变量的值的问题。 – 2009-06-19 08:10:04

0

我找不到使用配置文件或编程方式指定凭据的方法,但是一种解决方法是将所有凭证(在设计器中设置)简单地保存在包中,然后将包的不同副本为每个不同的配置。这通过将软件包的ProtectionLevel设置为例如EncryptSensitiveWithPassword来完成。

这显然不理想。

1

SQL 2005对ConnectionManagerHttpClass的成员属性非常有限。值得庆幸的是它在2008年SQL :)

MSDN - SQL 2005 ConnectionManagerHttpClass properties.

VS.得到解决

MSDN - SQL 2008 ConnectionManagerHttpClass properties.

根据this MSDN link,公共类[ConnectionManagerHttpClass]实现IDTSConnectionManager90,ConnectionManagerHttp。

由于我们将假定您正在使用SQL 2005(根据您的Stackoverflow标签),您可能还想查看IDTSConnectionManager90.ConnectionString Property on MSDN

还检查了ConnectionManagerHttpClass.ConnectionString Property on MSDN,它实现IDTSConnectionManager90.ConnectionString并且是可覆盖的。

这应该指向你正确的方向。愿这场闹剧与你同在。

0

SQL2008 SSIS正确公开这些属性;不幸的是,2005年是我必须与之合作的环境。我通过开发允许设置属性的自定义组件来解决该问题。

+1

既然你得到了赏金点,你能更好地阐述一下吗? – D3vtr0n 2009-06-29 14:58:57

0

这可以通过设置保护级别设置为EncryptSensitiveWithPassword来完成,而用解密选项

相关问题