簡體   English   中英

如何在SSIS中向腳本組件添加Web引用

[英]How to add web reference to script component in SSIS

我在SSIS中有一個軟件包,我需要從Web服務中檢索一些數據。 我不能使用Web服務任務,因為服務名稱包含空格,然后我不知道為什么這種Web服務無法實現。 因此,我將腳本組件作為源。 我的想法是使用c Sharp從該腳本使用Web服務。 我添加了Web參考,並且腳本可以正常編譯。 問題是關閉腳本編輯器后,腳本組件會引發錯誤。 當我嘗試執行程序包時,如下圖所示。

錯誤代碼

我正在使用Visual Studio2010。我確定問題出在網絡參考上,因為當我刪除它時,錯誤就會消失。

任何解決方法,有幫助嗎?

編輯1

這是更好看的錯誤

錯誤代碼

PrecompileiIntoBindaryCode和DelayValidation屬性均不會顯示在“腳本”組件的“屬性”面板上。

編輯2我最終消耗了Web服務的語法。 是挽救我生命的帖子。

另外,我還使用SOAPUI程序來了解對Web服務的xml請求。

該錯誤消息通常表示驗證失敗。 在大多數情況下,由於元數據過時或元數據未使用最新更改進行更新。 看起來該架構已更新,可供Web服務參考。 嘗試將ValidateExternalMetadata設置為False

VS_ISBROKEN消息是最后一個驗證錯誤,並且在此之前還出現了另一條彈道消息- The binary code for the script is not found

有時代碼中的任何錯誤都可能導致此錯誤。打開腳本。 確保沒有錯誤。 再次將其關閉,然后單擊“確定”。如果確定代碼正確,則可以轉到腳本屬性並將PrecompileiIntoBindaryCode設置為False ,默認值設置為true。 它位於“屬性”下或屬性窗口的“腳本”選項中。 DelayValidation屬性,需要設置為' TRUE '。

MSDN文檔:

在SQL Server 2008集成服務(SSIS)和更高版本中,所有腳本都是預編譯的。 在以前的版本中,您通過設置任務的Precompile屬性來指定是否預編譯腳本。

與可以指示腳本是否已預編譯的早期版本不同,所有腳本都在SQL Server 2008 Integration Services(SSIS)中進行了預編譯。 預編譯腳本后,語言引擎不會在運行時加載,並且程序包運行得更快。 但是,預編譯的二進制文件會占用大量磁盤空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM