2014-04-03 31 views
0

新手問題。我相信這是最常見的錯誤之一。我在msdn論壇上發現了其中的幾個,但可能有很多方法來實現這個錯誤?請幫忙。在移動和重命名SSIS中的文件時無法鎖定變量

我想移動並重命名一些圖像從一個文件夾到另一個(是的,我看到了拉斐爾薩拉斯和許多其他人的博客,但沒有一個幫助)。

像\ server1的移動\影像\ 123-456.jpg到\服務器2 \影像\ 123456.jpg

我使用一個foreach。

源變量是動態構建的。在第一次迭代@imagePath = \ server1 \ images \ 123-456.jpg(我使用messagebox.show檢查)

我已經定義@remoteImagePath = \ server2 \ images \(它永遠不會更改)和@revisedImageName = 123456 .jpg(在使用字符串替換的腳本任務中動態構建 - 也使用messagebox.show進行檢查)

在FileSystem任務中,我使用SourceVariable作爲@imagePath並使用表達式在@ [User :: remoteImagePath]中定義Destination 「\」 + @ [用戶:: revisedImageName]

不知道是什麼原因,我得到這個錯誤

無法鎖定變量「\ server2 \ images \ 123456.jpg」以進行讀取訪問,並顯示錯誤0xC0010001「無法找到該變量。當在執行包時嘗試從容器上的Variables集合中檢索變量並且該變量不存在時,會發生這種情況。 「。

+0

包控制流的截圖將會很有用。 – Geoff

回答

0

將IsSourcePathVariable設置爲True並將SourceVariable設置爲SINGLE變量 如果使用表達式編輯器使用多個變量或任何其他設置來設置Source除了一個SINGLE變量之外,它不起作用如果你想將硬編碼的字符串連接到變量或多個變量,可以通過在包中創建一個新變量來實現這一點,並使用變量標籤中的表達式選項卡來構建變量作爲一個變量。

0

我相信表達式編輯器需要語法

@[User::remoteImagePath] + "\\" + @[User::revisedImageName]