SSIS 调用第三方库问题解决方式

背景:sql

公司要作一个调用Google API 接口的程序,用来上传文件到Google Drive 并分享给其余人。 也已经使用sql server agent 的定时任务处理其余任务,因此要求也要使用类似的技术完成功能。工具

通过:google

一、使用Google API对SSIS的组件完成开发server

      在我找了一圈以后,在自带的工具中未发现有能够直接使用的组件,可是在搜索以后发现一篇文章https://www.cdata.com/kb/tech/googledrive-ssis-task-export-2008.rst,仔细查看以后,发现是他们提供的付费产品,废弃。接口

二、建立Script Task,在编辑时生成的项目中用 nuget添加 Google API的包,生成项目ip

      添加包后编译经过,可是执行时,老是报找不到依赖的项,跟没有被添加引用同样,再次打开项目,添加的包引用丢失。缘由是SSIS的Script Task 不支持第三方包引用,我的猜想应该只是包含了代码文件,运行时再编译,不会包含其余依赖文件。开发

     解决方案: get

     网上有人说能够将依赖的程序集文件放入程序集搜索路径,应该没问题,可是我没有尝试,由于对生产环境影响太大产品

三、利用反射编译

    1)建立新的项目,并引用第三方库,编译生成程序集

    2)全部生成的文件放在一个文件夹

    3)在SSIS中添加变量,设置为上一步的文件夹路径

    4)在SSIS 的Script Task 中使用反射调用代码

 

在第3个方案中,彻底知足了咱们的需求,并且代码可控,若是后面须要新的功能,还能够进行扩展,在此进行记录,为后来者提供参考,减小弯路。  

相关文章
相关标签/搜索