System.Data.OracleClient.OracleException: ORA-00979: not a GROUP BY expression
来源:互联网 发布:矩阵的列空间基底 编辑:程序博客网 时间:2024/05/21 07:03
今天因为这个问题纠结了很久,其实这已不是第一次犯这样的错误了,今天特别记录下来,以防再犯。
总的来说,是因为oracleclient类型转换产生的错误,同样一条正确的sql语句,今天不出错误,或许明天就会出错,结合个人的错误经历,错误的来源主要来源于聚集函数,一下示范错误是如何产生的:
首先,给出获取数据源的函数
public DataTable ORselect(string str)
{
DataTable dt = new DataTable();
OracleConnection conn = new OracleConnection();
conn.ConnectionString = ConnectionString;
OracleDataAdapter adapter = new OracleDataAdapter(str, conn);
try
{
conn.Open();
adapter.Fill(dt);
}
catch(OracleException ee)
{
ErrorString = ee.ToString();
}
finally
{
conn.Close(); //关闭连接
}
return dt;
}
然后有调用函数语句:
string selectsql = "select clusterid,avg(age) from v_physics_storeaction group by clusterid";
DataTable dt = conn.ORselect(selectsql);
咋一看,这有错吗??没错啊,但结果却出人意料,在PL/sql下可得到三条记录,但在上述的dt中却只有一条语句,难道这是bug??
那如果把selectsql改一下,改成“select 1/3 from dual” ,这该没错了吧??但是,它还是报错啊,现在你也许知道它错在哪了!这么解决这个问题呢??
其实很简单,你只需要将“select 1/3 from dual”改成“select to_char(1/3) from dual”就可以了,问题很简单,但你如果对oracleclient不是很了解,也许你就很难找出这个错误。
- System.Data.OracleClient.OracleException: ORA-00979: not a GROUP BY expression
- ORA-00979: not a GROUP BY expression
- System.Data.OracleClient.OracleException:ORA-12154: TNS:could not resolve the connect identifier spe
- Exception Details: System.Data.OracleClient.OracleException: ORA-12154:
- ORA-00979: not a GROUP BY expression报错处理
- [Err] ORA-00979: not a GROUP BY expression
- System.Data.OracleClient.OracleException: ORA-01036: 非法的变量名/编号
- Oracle异常处理System.Data.OracleClient.OracleException: Error while trying to retrieve text for error ORA-01036
- hive:Group by 问题:Expression Not In Group By Key
- system.data.oracleclient
- 微軟将弃用 System.Data.OracleClient
- 微軟将弃用 System.Data.OracleClient
- 微軟将弃用System.Data.OracleClient
- ORA-01791:not a SELECTed expression
- ORA-01791:not a SELECTed expression 处理
- ORA-01791:not a SELECTed expression
- ORA-01791:not a SELECTed expression 处理
- System.Data.OracleClient.OracleCommand 注意事项
- C# 怎么调用存储过程 经典写法
- #pragma once和#pragma comment的含义
- 在Oracle中写出性能优良的SQL语句
- java中Keytool的使用总结
- Luke安装与使用
- System.Data.OracleClient.OracleException: ORA-00979: not a GROUP BY expression
- 开始
- How to solve performance issue while inquiring material transaction distribution?
- 请一定要对自己负责
- 使用CTabCtrl控件实现属性页功能
- linux socket的select函数例子
- 毕业后的五年拉开大家差距的原因在哪里?
- 无聊
- 在Linux系统中安装rpm,deb,tar.gz,tar.bz2,apt,bin 格式的文件