【发布时间】:2018-05-31 05:35:37
【问题描述】:
在我们的应用程序中,只有一个 sql 查询仅对某些用户返回 sqlerror=-302。当我用这个查询调用函数时,它工作正常,对于其他一些用户来说它也工作正常。只有某些用户对此查询有疑问。 对同一架构中其他表的查询工作正常,我还检查了其他表的授权,并且此查询中使用的表都相同,但对于某些用户来说仍然查询失败。 以前有人遇到过这种问题吗??如果您能找到问题的根本原因,请告诉我。
SELECT OCS.OPERATOR_ID, OCS.CHECK_ID, OCS.TEMPLATE_ID, OCS.START_DATE,
OCS.COMPLETE_DATE, OCS.STATUS, OCS.APPROVER_ID
FROM OC_STATUS AS OCS, OC_CHECK
WHERE OCS.OPERATOR_ID = [Param.1]
AND OCS.OPERATOR_TYPE = [Param.2]
AND OC_CHECK.CHECK_NAME = [Param.3]
AND OC_CHECK.WORKSTATION = [Param.4]
AND OCS.CHECK_ID = OC_CHECK.CHECK_ID
AND OCS.TEMPLATE_ID = OC_CHECK.TEMPLATE_ID
这个查询在 DB2 上执行,我们从 Java 事务中调用它。
【问题讨论】:
-
请用您正在使用的特定数据库标记这个问题。真的很有必要。
-
另外,查询是什么。我什么都看不到。
-
什么软件?怎么会有人在不知道的情况下在这里帮助你? 一定是放假的时间
-
昨天问了一个类似的问题stackoverflow.com/questions/50517651/… 尝试将您的参数显式转换为正确的数据类型,例如ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/…
-
另外,请使用现代的
join子句。现在已经不是 90 年代初了。