最近在使用AIF做connectors时遇到一个问题,就是无法在SSIS里调到script component里C#code引用的AIF service。
SSIS script component project: dtsx
|
Edit Script
|
Go into C# project, Add AIF service to a service reference. A config file is generated in the component project.
错误:
原因:
在SSIS启动时无法调到C#的AIF service的app.config文件,导致没有访问到AIF service。
解决方案:
在SSIS package里通过WCF client的方式来调用WCF service。
1. Specify a SSIS variable for the web service URL. 我们将会把这个变量作为参数
2. Create WCF client in code in script component.
private CompanyListService serviceClient;
private ChannelFactory<CompanyListService> companyViewChannelFactory;
在SSIS PreExecute() 实例化这个channelFactory,调用CreateChannel()去访问WCF service。
在CreateServiceBinding() method里,构造netTcpBinding。
3. Close service client after execute the AIF operations.
近期在做与SSIS相关的project,期待有更深入的学习!