你们有没有遇到过这样的问题?缺失右括号的
时间:2011-09-08
来源:互联网
00907的错误。。重点是。。。应用端生成报表时报这个错误,将报表的SQL提出来在PL/SQL上跑就不报错。。。
经过查了半天。。发现某些SQL的个别字段会导致应用端报这个错误,比如下面2个SQL中标红的字段改成1或其他简单的写法就没问题:
SQL1:
SELECT
a.first_result first_result,
nmosdb.to_name(a.region_id) alm1,
sum(total_alarm_num) alm2,
sum(CASE WHEN a.ORG_SEVERITY=1 THEN a.total_alarm_num ELSE 0 END) alm3,
sum(CASE WHEN a.ORG_SEVERITY=2 THEN a.total_alarm_num ELSE 0 END) alm4,
sum(CASE WHEN a.ORG_SEVERITY=3 THEN a.total_alarm_num ELSE 0 END) alm5,
SUM(CASE WHEN b.ACTIVE_STATUS =1 and b.ORG_SEVERITY in (1,2,3) THEN 1 ELSE 0 END) alm6,
SUM(CASE WHEN b.ACTIVE_STATUS =1 and b.ORG_SEVERITY =1 THEN 1 ELSE 0 END) alm7,
SUM(CASE WHEN b.ACTIVE_STATUS =1 and b.ORG_SEVERITY =2 THEN 1 ELSE 0 END) alm8,
SUM(CASE WHEN b.ACTIVE_STATUS =1 and b.ORG_SEVERITY =3 THEN 1 ELSE 0 END) alm9,
count(DISTINCT a.int_id) alm10,
ROUND(SFB_DIVFLOAT_1(sum(total_alarm_num),count(DISTINCT a.int_id),0,0),2) alm11,
sum(alarm_num_special) alm12,
sum(CASE WHEN a.ALARM_RESOURCE_STATUS >= 1500 AND a.ALARM_RESOURCE_STATUS < 1600 THEN a.total_alarm_num ELSE 0 END) alm13,
A.FIRST_RESULT T1,
10003 D1 ,
A.REGION_ID D2
FROM
。。。
SQL2:
SELECT
row_number() over(order by sum(total_alarm_num) desc) num, a.first_result first_result,
a.STANDARD_ALARM_ID alm1,
a.ALARM_TITLE_TEXT alm2,
sum(a.total_alarm_num) alm3
FROM
。。。
经过查了半天。。发现某些SQL的个别字段会导致应用端报这个错误,比如下面2个SQL中标红的字段改成1或其他简单的写法就没问题:
SQL1:
SELECT
a.first_result first_result,
nmosdb.to_name(a.region_id) alm1,
sum(total_alarm_num) alm2,
sum(CASE WHEN a.ORG_SEVERITY=1 THEN a.total_alarm_num ELSE 0 END) alm3,
sum(CASE WHEN a.ORG_SEVERITY=2 THEN a.total_alarm_num ELSE 0 END) alm4,
sum(CASE WHEN a.ORG_SEVERITY=3 THEN a.total_alarm_num ELSE 0 END) alm5,
SUM(CASE WHEN b.ACTIVE_STATUS =1 and b.ORG_SEVERITY in (1,2,3) THEN 1 ELSE 0 END) alm6,
SUM(CASE WHEN b.ACTIVE_STATUS =1 and b.ORG_SEVERITY =1 THEN 1 ELSE 0 END) alm7,
SUM(CASE WHEN b.ACTIVE_STATUS =1 and b.ORG_SEVERITY =2 THEN 1 ELSE 0 END) alm8,
SUM(CASE WHEN b.ACTIVE_STATUS =1 and b.ORG_SEVERITY =3 THEN 1 ELSE 0 END) alm9,
count(DISTINCT a.int_id) alm10,
ROUND(SFB_DIVFLOAT_1(sum(total_alarm_num),count(DISTINCT a.int_id),0,0),2) alm11,
sum(alarm_num_special) alm12,
sum(CASE WHEN a.ALARM_RESOURCE_STATUS >= 1500 AND a.ALARM_RESOURCE_STATUS < 1600 THEN a.total_alarm_num ELSE 0 END) alm13,
A.FIRST_RESULT T1,
10003 D1 ,
A.REGION_ID D2
FROM
。。。
SQL2:
SELECT
row_number() over(order by sum(total_alarm_num) desc) num, a.first_result first_result,
a.STANDARD_ALARM_ID alm1,
a.ALARM_TITLE_TEXT alm2,
sum(a.total_alarm_num) alm3
FROM
。。。
作者: 风铃中の鬼 发布时间: 2011-09-08
我无法定位错误原因。。。大概感觉但凡字段复杂一点就会出错。。。
作者: 风铃中の鬼 发布时间: 2011-09-08
应用端生成报表时报这个错误,将报表的SQL提出来在PL/SQL上跑就不报错。。。
和你的驱动有关系?
和你的驱动有关系?
作者: dingjun123 发布时间: 2011-09-08
QUOTE:原帖由 dingjun123 于 2011-9-8 10:43 发表
应用端生成报表时报这个错误,将报表的SQL提出来在PL/SQL上跑就不报错。。。
和你的驱动有关系?
应用端生成报表时报这个错误,将报表的SQL提出来在PL/SQL上跑就不报错。。。
和你的驱动有关系?
理论上时这样。。。公司自己研发的一套报表引擎。。但是在我自己的测试服务器上跑就没问题。。移到现场那边就给搞出这么个问题来。。我认为是WEB端得问题。。。。想问问谁在编写类似代码的时候遇到过。。
作者: 风铃中の鬼 发布时间: 2011-09-08
测试的数据库版本是否和现场的一致?
作者: dingjun123 发布时间: 2011-09-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28