‘壹’ ora-00911(PLsql运行没问题),但是在VS(ASP.NET[C#])中使用sqldatasource报错。
请检查一下是不是日期转换格式不兼容,直接让系统进行日期转换。
select
min(datetime_)
as
开始日期,max(datetime_)
as
结束日期,t.bsc,sum(num5)
as
达标次数,sum(num)
as
总次数,sum(num5)/sum(num)
as
达标比例
from
SZDO.TBL_SINR_FREQ
t
where
datetime_
between
'2013-03-03'
and
'2013-03-03'
group
by
t.bsc
order
by
达标比例
desc
‘贰’ 失败原因:执行SQL失败,失败原因:批处理中出现错误: ORA-00911: invalid character
应该是错误输入了全角字符,输入半角字符就行了。
错误信息ORA-00911: invalid character说明了在执行的SQL语句中出现了无效字符,所在SQL语句无法通过语法分析过程导致了错误结果。
可能出现的原因有:错误地输入了全角字符,比如输入了全角逗号。
如果使用C++、Java、C#等编程时,总会习惯在语句最后加分号,而这个符号在SQL中是无效字符。
实际语句和列类型不匹配,比如将数值列赋值为字符串。
与display函数不同,display_cursor显示的为真实的执行计划。
对于format参数,使用与display函数的各个值,同样适用于display_cursor函数。
当statistics_level为all或使用gather_plan_statistics提示可以获得执行时的统计信息。
根据真实与预估的统计信息可以初步判断SQL效率低下的原因,如统计信息的准确性、主要的开销位于那些步骤等。
看你的sql语句最后是否有分号,有的话去掉就行 看你Oracle服务器端字符集是否和Oracle客户端字符集匹配。
查询oracle server端的字符集:SQL>select userenv(‘language’) from al。
查询oracle client端的字符集。在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。
还可以在dos窗口里面自己设置,比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK。