Sql-Server

SQL Server 2014 SSIS 包在作為代理執行時忽略腳本任務

  • March 21, 2016

好的,這就是我要做的。SSIS 包從我們的生產系統中查詢數據並將它們放入 CSV。有一個將它們上傳到第三方的 VB 腳本任務。需要一個帶有身份驗證的多文章 HTTP 文章,並在標頭中為第 3 方發送幾個特定欄位,因此必須執行自定義 VB 腳本而不是使用 Web 目標。

我有一個 ForEach 循環,通過腳本上傳每個文件,然後將其刪除。在 BIDS 中效果很好。但是當我將它上傳到 SSIS 包儲存時,上傳部分不起作用。但由於文件仍被刪除,因此不會引發任何錯誤。

控制流

查詢部分工作,吐出 CSV。腳本任務除了文件被刪除之外什麼都不做。

將各種 SSIS 登錄到包和腳本中。將“Hello World”日誌放入腳本的第一行,它從未被觸發。

我做了什麼:

創建具有完全訪問權限的代理,將其連結到新的 Creds 和 SQL 登錄名。沒有。使 SQL 登錄擁有一切權限,什麼都沒有。將包作為新的代理執行帳戶和服務帳戶執行。甚至更改了執行 SQL AGENT 服務的帳戶(新的 SQL 伺服器,現在可以搞砸了)。將包執行為 32 位無。認為它與設置為“Copy Local = True”的 ScriptTask 引用相關聯,但沒有改變它。

在 BIDS 中工作正常,我在另一個客戶的環境中使用了相同的腳本,它在那里工作得很好。我不確定還能嘗試什麼。有任何想法嗎?如果需要,我可以上傳程式碼部分。

證書

SQL 幫助歷史

發生這種情況是因為 VS 2015 是為僅支持 SQL Server 2016 而建構的,並且您可能將包部署在 SQL Server 2014 或更低版本(不受支持的版本)下。

使用 VS 2015 中最新版本的數據工具,您可以在包中選擇目標 SQL 伺服器版本,以允許 SSDT 選擇腳本組件中使用的正確 .NET 庫。

有關詳細資訊,請參閱**此連結**

我的 SSIS 包最初是在 VS2013 中創建的,我為這個項目將它遷移到 VS2015。它在 Visual Studio 中執行良好,但在作為 SQL 代理作業執行時未能呼叫上傳腳本,因為我在一個新環境中,所以我認為還有其他問題。

安裝 VS2013 + 2013 年的 Data Tools BI 版本,打開原始包 + 將其上傳到 SSIS 包商店,現在可以正常工作,即使作為 SQL 代理作業。仍然零想法為什麼它在遷移到 2015 時跳過了腳本任務,但它現在可以工作了,所以我永遠不會找到原因。

引用自:https://dba.stackexchange.com/questions/123252