语法错误:连接 - 派生列 - 2列+常量字符串

时间:2016-07-14 23:55:01

标签: mysql sql-server ssis

我是SSIS和SQL Server的新手。我正在网上阅读大量阅读书籍或2本书。

在这个过程中,我试图用一个常量字符串加上一些破折号和2列来完成一个新列。  但我并没有接近它。我可以在没有短划线和没有文字的情况下获得2列,但这并不能实现目标。  我已经阅读了TechNet和Microsoft SSIS页面以及在这里搜索/阅读但仍然在努力。 有人可以帮我解释语法吗?谢谢你的帮助。

期望的目标是:

结果:DtMMP-202-PA-A97-1

环境:

新列将如下所示(不正确的语法):  MMID列是一个整数  PymtAuth列是nvarchar100

"DtMMP-" +  [MMID] + "-PA-"  + [PymtAuth] 

期望的结果:DtMMP-202-PA-A97-1

即使我删除了前端字符串并只组合了2列,我也不成功。

 [MMID] + "-PA-"  + [PymtAuth] 

我甚至分开并尝试了2个整数字段......

 [MMID] + '-' + [RegID]

如果我遗漏' - '似乎接受了它,但需要虚线。

目标是:

 "DtMMP-" +  [MMID] + "-PA-"  + [PymtAuth]

结果:DtMMP-202-PA-A97-1

再次感谢你。

“DtMMP-”+ [MMID] +“ - PA-”+ [PymtAuth] 创建错误

从MM库创建机会时出错[派生列[391]]:数据类型“DT_WSTR”和“DT_I4”与二进制运算符“+”不兼容。操作数类型无法隐式转换为操作的兼容类型。要执行此操作,需要使用强制转换运算符显式转换一个或两个操作数。

从MM库创建机会时出错[派生列[391]]:尝试设置二进制操作的结果类型“”DtMMP-“+ MMID”失败,错误代码为0xC0047080。

从MM库创建机会时出错[派生列[391]]:计算表达式“”DtMMP-“+ [MMID] +” - PA-“+ [PymtAuth]”失败,错误代码为0xC0047084。表达式可能有错误,例如除以零,在分析时无法检测到,或者可能存在内存不足错误。

从MM库创建机会出错[派生列[391]]:表达式“”DtMMP-“+ [MMID] +” - PA-“+ [PymtAuth]”在“派生列”上。输出[派生列输出] .Columns [Derived Column 2]“无效。

从MM库创建机会时出错[派生列[391]]:无法在“派生列。输出[派生列输出] .Columns [派生列2]”上设置属性“表达式”。

其他信息:

HRESULT的异常:0xC0204006(Microsoft.SqlServer.DTSPipelineWrap)

1 个答案:

答案 0 :(得分:0)

试试这个

"DtMMP-" + (DT_WSTR,4)MMID + "-PA-" + PymtAuth

您必须将MMID转换为DT_WSTR