【发布时间】:2018-02-17 14:26:51
【问题描述】:
我正在尝试将数据从 Informix 提取到 SQL SERVER 2012。我正在使用 Talend 来实现此功能。如果我只是在 Informix 的任何默认表上选择 * 作业,则作业成功。
如果我尝试进行自定义查询(加入一些表并返回 3 行),当我尝试猜测 Schema 时会出错。请指教。
在 informix DB 中运行良好但无法通过 Talend 运行的查询出现以下错误。 group by 语句错误令人困惑,因为相同的脚本在 DB 上运行得非常好。作为一种命中和试验方法,我 GUESS SCHEMA 来可视化模式的结果集:
作为参考,查询是:
**
SELECT first 3 R.resourcename as Name,
CAST('0'||LEFT(TO_CHAR (Mod( (ROUND( CASE WHEN COUNT(ringtime)
>0 THEN SUM(ringtime)*1.0 / COUNT(ringtime) ELSE 0 END , 0) ) ,
3600) / 60 ),1) ||':'||
TO_CHAR (Mod (Mod (ROUND( CASE WHEN COUNT(ringtime) >0 THEN
SUM(ringtime)*1.0 / COUNT(ringtime) ELSE 0 END , 0), 3600) ,
60)) as char(16)) as ASA
FROM agentconnectiondetail as ACD JOIN Resource as R
ON ACD.resourceid = R.resourceid
WHERE (ACD.startdatetime ) >= TODAY -- removed 6 back days
GROUP BY 1
**
【问题讨论】:
-
你为什么要猜测架构?为什么不知道架构是什么?当 Talend 将查询发送到 Informix 时,它是什么样的?您显示的查询是有效的还是失败的?您收到的错误信息是什么?是否一致? SELECT * FROM SomeTable 有效的事实意味着我们可以排除连接问题,但我们需要更多信息才能提供更多帮助。
-
schema 在连接设置中设置为 Informix,但通过 Guess Schema,我可以查看结果列及其数据类型,在将结果转储到 SQL Server 表之前我可以根据需要进行更改。