Oracle 9i中包含Connect by 子句的查询向Oracle 10g移植后运行时错误及解决方法
摘自:
错误内容:
ORA-01788: 此查询块中要求 CONNECT BY 子句
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OracleClient.OracleException: ORA-01788: 此查询块中要求 CONNECT BY 子句
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[OracleException (0x80131938): ORA-01788: 此查询块中要求 CONNECT BY 子句
]
System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc) +203
System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals) +1018
System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, ArrayList& resultParameterOrdinals) +25
解决方法:
用dba身份执行以下语句:
alter system set "_allow_level_without_connect_by"=true scope=both