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