背景:
公司要做一個呼叫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個方案中,完全滿足了我們的需求,而且代碼可控,如果后面需要新的功能,還可以進行擴展,在此進行記錄,為后來者提供參考,減少彎路,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/262324.html
標籤:.NET技术
