派生列表达式验证错误

时间:2017-05-30 01:02:18

标签: ssis ssis-2012

我在ssis包中的派生列表达式中编写了以下代码。

我从源接收的输入值: -

Q:\SOURCE\RV_T\PCL_RVT\RVT_export_all_2011-02-14_08.38.00_Emerald.xlsx

我想: - RVT_export_all_2011-02-14_08.38.00_Emerald.xlsx

Substring(@[User::V_FilePath],LEN(@[User::V_FilePath]) - Charindex("\",Reverse(@[User::V_FilePath]))+2,LEN(@[User::V_FilePath]))

它在SSMS中运行良好,但在SSIS中给出了以下错误

  

DFT时出错 - 加载数据[派生列[8]]:尝试解析   表达式“子串(@ [User :: V_FilePath],LEN(@ [User :: V_FilePath]) -   CHARINDEX( “\”,反向(@ [用户:: V_FilePath]))+ 2,LEN(@ [用户:: V_FilePath]))”   失败。行号“1”的标记“”“”,字符号“68”是   未识别。表达式无法解析,因为它包含   指定位置的无效元素。

     

DFT时出错 - 加载数据[派生列[8]]:无法解析   表达式“子串(@ [User :: V_FilePath],LEN(@ [User :: V_FilePath]) -   CHARINDEX( “\”,反向(@ [用户:: V_FilePath]))+ 2,LEN(@ [用户:: V_FilePath]))”。   表达式无效,或者存在内存不足错误。

     

DFT时出错 - 加载数据[派生列[8]]:表达式   “Substring(@ [User :: V_FilePath],LEN(@ [User :: V_FilePath]) -   CHARINDEX( “\”,反向(@ [用户:: V_FilePath]))+ 2,LEN(@ [用户:: V_FilePath]))”   on“Derived Column.Outputs [Derived Column   输出] .Columns [filenaemfrompat]“无效。

     

DFT错误 - 加载数据[派生列[8]]:无法设置属性   “衍生列”上的“表达式”。输出[派生列   输出] .Columns [filenaemfrompat]”。

请建议。 提前谢谢......

1 个答案:

答案 0 :(得分:1)

经过大量测试后,我能够得到我想要的东西。

这是我使用的代码

RIGHT(@[User::V_FilePath],FINDSTRING(REVERSE(@[User::V_FilePath]),"\\",1) - 1)