【问题标题】:Syntax error: Concatenate - Derived Column - 2 column + a constant string语法错误:连接 - 派生列 - 2 列 + 常量字符串
【发布时间】:2016-11-18 01:31:32
【问题描述】:

我是 SSIS 和 SQL Server 的新手。我在网上做了大量阅读,并查看了一两本书来购买。

在这个过程中,我试图用一个常量字符串加上一些破折号和 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 库 [Derived Column [391]] 创建机会时出错:“Derived Column.Outputs [Derived Column Output ].Columns[Derived Column 2]" 无效。

从 MM 库 [Derived Column [391]] 创建机会时出错:无法在“Derived Column.Outputs[Derived Column Output].Columns[Derived Column 2]”上设置属性“Expression”。


其他信息:

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

【问题讨论】:

  • 你有什么错误吗?如果是这样,您需要在与数字连接时将 [MMID] 转换为字符
  • 顺便说一句,请提及您的数据库引擎是什么。 sq-server 是 MicrosoftSQL Server,与 mysql 不同
  • 闪烁谢谢您的回复... Microsoft SQL Server 2014 是的,当使用“DtMMP-”+ [MMID] +“-PA-”+ [PymtAuth] 时,我得到的错误是遵循原则上我理解的是混合数据类型,但我不清楚如何克服这个问题。如果演员表是我的答案,那么我会去对演员表做更多的研究
  • 我在上面的问题中添加了错误信息。
  • 原因是你在字符串中添加数字。您需要将 MMID 转换为字符串使用转换功能。如果 cast 可以帮助你,你需要说 CAST(MMID as varchar)

标签: mysql sql-server ssis


【解决方案1】:

试试这个

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

您必须将 MMID 转换为 DT_WSTR

【讨论】:

  • 2 件事。第一 - 这成功了!第二感谢您对它的外观如此具体。完整的语法。
  • 我还得到了一些额外的指导,将整个内容放在一个字符串中 - 你的想法是什么? (DT_STR,50,1252) ("DtMMP-" + (DT_WSTR,50)MMID +"-PA-" + [PymtAuth])
  • 大部分...谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多