我有一個DTS包,我遇到了一個非常奇怪的問題。DTS包無法編輯參數
如果我打開解決方案,當我查看一個包時,我可以查看和編輯參數列表。
如果我打開相同的文件,就像一個獨立的文件,然後我可以看到其他的東西。參數列表空白。
有沒有人有解決方案?
根據請求提供一些額外信息。
如果我直接打開文件(在此情況下,2012)在Visual Studio中,查看參數列表,我得到如下:
當我打開相同的文件作爲項目的一部分,我得到如下:報告
沒有錯誤,但是當我打開文件獨立我再也看不到的參數。
我有一個DTS包,我遇到了一個非常奇怪的問題。DTS包無法編輯參數
如果我打開解決方案,當我查看一個包時,我可以查看和編輯參數列表。
如果我打開相同的文件,就像一個獨立的文件,然後我可以看到其他的東西。參數列表空白。
有沒有人有解決方案?
根據請求提供一些額外信息。
如果我直接打開文件(在此情況下,2012)在Visual Studio中,查看參數列表,我得到如下:
當我打開相同的文件作爲項目的一部分,我得到如下:報告
沒有錯誤,但是當我打開文件獨立我再也看不到的參數。
好吧,看來你想編輯一個包的參數的設計時間值超出了SSIS項目的上下文。正如你的屏幕截圖所指出的,如果你打開一個包含參數的SSIS包,它們就不會顯示。如果您單擊使用經典軟件包部署模型的SSIS項目的「參數」選項卡,您會得到相同的行爲。
這看起來是爲了設計,但歡迎您打開Connect項目,查看產品團隊是否會改變此行爲。
同時,我看到兩種方法。首先是手動編輯XML。右鍵點擊,查看代碼,你會發現像下面這樣的部分。更改您的ParameterValue
部分的值,您就會像雨一樣正確。當然,最重要的事情是,在使用XML之前,先確保你有一個已知的,安全的,可恢復的版本 - 最好是在某種版本控制下。
<DTS:PackageParameters>
<DTS:PackageParameter
DTS:CreationName=""
DTS:DataType="3"
DTS:DTSID="{C6988EC3-F273-4889-83B8-02A4AC8F6E9A}"
DTS:ObjectName="MyParameter">
<DTS:Property
DTS:DataType="3"
DTS:Name="ParameterValue">0</DTS:Property>
</DTS:PackageParameter>
</DTS:PackageParameters>
另一種方法,我可能採用的方法是不關心軟件包作爲磁盤上的值。相反,我將重點放在部署後的價值。
考慮下面的代碼,它在SSISDB中應用一個配置,以確保MyParamter的值始終爲1.在休息時,該值爲0,但通過應用配置,我知道當此包在目錄中運行時,它將使用配置的值而不是設計時值。在SOX/SAS70/HIPPA/PCI等控制變更的地方,這種方法通常也會被更多人接受。
DECLARE @var int = 1;
EXEC SSISDB.catalog.set_object_parameter_value
@object_type = 30
, @parameter_name = N'MyParameter'
, @object_name = N'Package.dtsx'
, @folder_name = N'Deploy'
, @project_name = N'SO_ProjectDeploymentModel'
, @value_type = V
, @parameter_value = @var;
謝謝你的幫助 – gilesrpa