我创建了一个 SSIS 自定义日志提供程序(SQL Server 2012 / Visual Studio 2010 / .Net Framerowk 4),现在我必须调用 WCF 服务。我不知道该怎么做,因为这是一个自定义库项目,没有配置文件。
想法?谢谢!
这在 SSIS 中是一件棘手的事情。您最好从 C# 调用 WCF 服务并使用该应用程序来填充并暂存一个您可以从 SSIS 访问的表。
话虽如此...如果您想访问 WCF 服务,这里是基本步骤。
WCF 端点配置设置。WCF 服务的端点必须放在 dtsexec.exe.config 和位于以下文件夹中的 DtsDebugHost.exe.config 文件中:C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn 它会如果您也在运行 64 位 SQL Server,请明智地在 Program Files 文件夹中执行相同的操作。
现在您可以创建您的 SSISScript 并通过右键单击 References 然后添加服务来添加服务引用。
如果您已将自己的“内部”代理和合同编译到 DLL 中,那么您需要将它们复制到与上述 dtsexec.exe 相同的位置,以及在 GAC 中注册它们。
请记住...您需要在 SSIS 包将运行的地方执行此操作,因此通常是您的本地 SSIS 实例和生产 SQL Server。
现在......对此的替代方法可能是“蛮力”在您的 SSIS 脚本中的代码中对所有 WCF 端点设置进行编码。我还没有厌倦这一点,但如果它有效,将消除在那些晦涩的位置和配置文件中对端点的需求。这将是更清洁和更好的路线。然后,您可以将 WCF 端点和其他设置存储为变量,并将它们作为只读值传递到 SSIS 脚本中。
祝你好运!