搜尋本站文章

2009-11-03

SSIS 2008 的「指令碼工作(Script Task)」之 ReadOnlyVariables 屬性



更新日期:2013/04/23

經過測試,SSIS 2012版本,在 SSDT 2012 上仍是有此問題。







在SSIS 2008 的「指令碼工作(Script Task)」,與變數有關的兩個的屬性:ReadOnlyVariables 與 ReadWriteVariables 。
ReadOnlyVariables:輸入以逗號分隔的變數清單,以供指令碼轉換進行「唯讀」存取。
ReadWriteVariables:輸入以逗號分隔的變數清單,以供指令碼轉換進行可「讀寫」存取。




實作環境:
SSIS2008 SP1

問題描述:
使用「指令碼工作」,設定輸入變數為「ReadOnlyVariables」。





但實際上卻仍然可以對此變數寫入資料。



預期行為:
不可以對此變數寫入資料。
應改用「ReadWriteVariables」,才可以寫入資料。




處理方式:
這個已經是一個open bug,在以下兩個連結都有討論。看起來是下一個service pack會修復.
SSIS Script Task passed in read only variable is updateable
https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=369187

SSIS Script task parameters
http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/thread/c823a993-7b48-49be-8513-3085655ba91f/

在此感謝 Vera 熱心的協助。



更新日期:
2010/0703


使用環境:
SQL Server 2008 R2 中文企業版本。

經過測試,仍然有此問題。


參考資料:
SQL Server 2008 線上叢書 (2009 年 7 月)指令碼轉換編輯器 (指令碼頁面)
http://msdn.microsoft.com/zh-tw/library/ms181225.aspx