2021-02-22

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

背景:

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

经过:

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

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

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

      添加包后编译通过,但是执行时,总是报找不到依赖的项,跟没有被添加引用一样,再次打开项目,添加的包引用丢失。原因是SSIS的Script Task 不支持第三方包引用,个人猜测应该只是包含了代码文件,运行时再编译,不会包含其他依赖文件。

     解决方案: 

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

3、利用反射

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

    2)所有生成的文件放在一个文件夹

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

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

 

在第3个方案中,完全满足了我们的需求,而且代码可控,如果后面需要新的功能,还可以进行扩展,在此进行记录,为后来者提供参考,减少弯路。  

 









原文转载:http://www.shaoqun.com/a/576579.html

跨境电商:https://www.ikjzd.com/

刘小东:https://www.ikjzd.com/w/1853

谷歌趋势:https://www.ikjzd.com/w/397


背景:公司要做一个调用GoogleAPI接口的程序,用来上传文件到GoogleDrive并分享给其他人。也已经使用sqlserveragent的定时任务处理其他任务,所以要求也要使用相似的技术完成功能。经过:1、使用GoogleAPI对SSIS的组件完成开发在我找了一圈之后,在自带的工具中未发现有可以直接使用的组件,但是在搜索之后发现一篇文章https://www.cdata.com/kb/tec
吴佳:https://www.ikjzd.com/w/1770
epc:https://www.ikjzd.com/w/488
transfer:https://www.ikjzd.com/w/1735
NARF计划:https://www.ikjzd.com/w/2583
营业执照经营范围被"狙",又一批亚马逊账号即将出局!:https://www.ikjzd.com/home/121002
亚马逊大卖们都知道的5个定价小技巧:https://www.ikjzd.com/home/512

No comments:

Post a Comment