2014-03-24 58 views
1

我希望能夠使用SSIS發送電子郵件。我遵循「How to send the records from a table in an e-mail body using SSIS package?」的指示。在運行包SSIS ForEach變量映射錯誤

Error: ForEach Variable Mapping number 1 to variable "User::XY" cannot be applied

:不過,我得到一個錯誤。我的源表有5列(bigint,datetime, nvarchar, nvarchar, nvarchar類型)。

另一個錯誤是:

Error: The type of the value being assigned to variable "User::XY" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object.

還有什麼問題呢?


更新:當我試圖找出這個問題,我已經做到了這一點:雖然從Execute SQL Task獲取數據,我的int數據轉換爲varchar,然後使用該變量String數據類型和它的工作原理。但是,我應該如何設置變量,使其具有INT數據類型,而不是varchar

+0

看來我需要將該變量設置爲Int而不是字符串。所以我確實將DataType更改爲「Int32」,但這可能是錯誤的方式。 – DNac

回答

1

我剛碰到這個問題&解決了它,雖然我不知道到底如何。

運行SSIS的SQL Server 2008 R2: 一)查詢拉行到通過每個試圖環路和拉值的前兩列到變量 對象 B)(這已經fine--運行我回來編輯查詢和每個循環,併爲分支邏輯添加一個額外的變量) c)錯誤映射變量'1',碰巧是一個int,碰巧和我的列名稱相同從中拉出。

我嘗試刪除foreach循環中的變量對列引用並重新添加它,並且我發現該變量未在允許映射的變量列表中被列出。
我刪除了變量,創建了一個相同類型(int32)和名稱的新變量,添加了它,並且事情運行良好。