如何修复SQL Server从AS400中读取的“ T2类型* N中找不到RIGHT”的问题?

时间:2019-07-29 19:12:18

标签: sql db2 ibm-midrange

我正在将SSIS包中位于AS400上的两个文件加入。我正在使用ODBC Source和SQL命令文本字段。

针对每个表的SQL查询可以很好地工作并填充数据。即使当我加入他们时,只要有“ RIGHT”功能,它就可以正常工作。

此查询工作正常:

CollisionShape2D.shape.rect_extents

这也可以:

SQL
SELECT
T1.DOC,
T1.DOCNUM,
T1.REF4
FROM SCHEMA.Table1 AS T1

即使效果很好:

SELECT
T2.YEAR,
T2.PERIOD
FROM SCHEMA.Table2 AS T2

但是当我在查询中具有RIGHT函数(如下)时,它会出错:

SELECT
T1.DOC,
T1.DOCNUM,
T1.REF4,
T2.YEAR,
T2.PERIOD
FROM SCHEMA.Table1 AS T1
INNER JOIN SCHEMA.Table2 AS T2
ON T1.DOCNUM=T2.DOCNUM

我希望查询捕获REF4的8个正确字符,但是出现以下错误:

数据流任务测试错误打开数据库连接(ODBC)错误 发生。状态:“ 4292”。本机错误代码:-2N。 fl8MISystem i Access

T1的RIGHT类型为'N

1 个答案:

答案 0 :(得分:3)

正确的语法是:

T1

{{1}}限定列名,而不是函数名。