ODBC错误 - SQL0104 - 令牌=无效。有效令牌:(+ - ?:DAY INF NAN RID ROW - Windows 7机器中的Crystal报告错误

时间:2015-01-20 07:24:26

标签: sql windows-7 crystal-reports db2 odbc

我们的客户多年来一直在Windows XP机器上使用多个水晶报告,我负责支持这些报告​​。它工作得非常好。最近我们升级到Windows 7机器和其中一个水晶报告停止运行wherheas其他水晶报告在Windows 7机器中正常工作。我无法确定一份报告停止运作的原因。通过java应用程序调用crystal报表.Below是我得到的错误消息,

ODBC error:[IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL0104 - Token = was not vaild. Valid tokens: ( + - ? : DAY INF NAN RID ROW RRN CASE CAST CHAR DATE DAYS HASH.

以上是错误消息。报告的SQL如下,

SELECT
    customermastertable."customerFirstname", customermastertable."customer1Firstname",
    celebrationmastertable."celebrationnumber", celebrationmastertable."storenumber", celebrationmastertable."customerssurname", celebrationmastertable."customerssurname2", celebrationmastertable."activestatus",
    prodstoretable."storename"
FROM
    ("proddatatable"."customermastertable" customermastertable INNER JOIN "proddatatable"."celebrationmastertable" celebrationmastertable ON
        customermastertable."customernumber" = celebrationmastertable."customernumber1")
     INNER JOIN "proddatatable"."prodstoretable" prodstoretable ON
        celebrationmastertable."storenumber" = prodstoretable."storenumber" 
WHERE
    customermastertable."customernumber" = celebrationmastertable."customernumber1" AND
    celebrationmastertable."storenumber1" = prodstoretable."storenumber" AND
    celebrationmastertable."celebrationnumber" = '?'.

最后一个celebrationnumber是在运行时传递的参数。

通过比较上面的错误消息和sql查询,你能不能告诉一下导致这个报告单独停止工作的原因。同样的报告在windows xp机器上运行良好。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。此错误是由于保存在C:/ Windows / System32文件夹中的DLL文件丢失。我已经将XP系统中的dll文件复制到了ODBC 7所需的Windows 7系统,并且水晶报告开始正常工作。感谢Fred Sobotka帮我解决了这个问题。