背景: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個方案中,徹底知足了咱們的需求,並且代碼可控,若是後面須要新的功能,還能夠進行擴展,在此進行記錄,爲後來者提供參考,減小彎路。