我在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]”。
请建议。 提前谢谢......
答案 0 :(得分:1)
经过大量测试后,我能够得到我想要的东西。
这是我使用的代码
RIGHT(@[User::V_FilePath],FINDSTRING(REVERSE(@[User::V_FilePath]),"\\",1) - 1)