Informatica][ODBC 20101驱动程序][Microsoft SQL Server]数据类型的操作符无效。操作符等于减号,类型等于varchar。

问题描述 投票:0回答:1
REPLACE(T.FirstName, ' ', '') + '.' + 
REPLACE(REPLACE(T.LastName, ' ', ''), '''', '') + '.' + SUBSTRING(CONVERT(varchar(50), T1.Id), 1, 8) +
'@outlook.com' AS 'EmailAddress'

EmailAddress 是具有上述逻辑的列中的一个。Informatica工作流由于转换失败,出现以下错误。谁能帮助我如何处理这个问题。

源是SQL Server,目标是Oracle

我得到了这个错误。

[Informatica][ODBC 20101驱动][Microsoft SQL Server]数据类型的无效操作符。操作符等于减号,类型等于varchar。

sql oracle informatica
1个回答
0
投票

这不是Informatica的错误。这是由MS SQL Server抛出的错误,并传递给Informatica。

这意味着,该错误是由查询抛出的。在你的源系统上调试查询。似乎它的某些部分导致了一个减号,然后被Query Optimizer解释为分号。


0
投票
 {FN CONCAT( {FN CONCAT({FN CONCAT({FN CONCAT( {FN CONCAT(REPLACE(T.FirstName,' ',''), '.')}, REPLACE(REPLACE(
      T.LastName,' ',''),'''',''))},'.' )}, SUBSTRING(convert(varchar(50),T1.PersonId),1,8))},'@Outlook.com')} AS 'EmailAddress'

做了如上的修改。SQL Server没有任何问题与'+'或'CONCAT'.Inforamtica是抛出错误的'+'为连接在查询。现在,我能够从SQL Server加载数据到Oracle表中。谢谢大家的回复和帮助。

© www.soinside.com 2019 - 2024. All rights reserved.