0
这里查询我要执行这是一个类似于:执行Oracle查询包含在C#子选择
with x as(
select ds.*, row_number() over (partition by FOO order by BAR) rn
from datasource ds
where datasupplierid = 3)
select column1, column2, rn from x where rn <= 2
而我执行它像这样(在C#):
using (var con = new OracleConnection(this.connectionString)) {
con.Open();
OracleCommand cmd = con.CreateCommand();
cmd.CommandText = this.command;//my query
cmd.CommandType = CommandType.Text;
var reader = cmd.ExecuteReader();
}
我从这里取的是ORA-00933:SQL命令未正确结束错误。
我试图重写查询,以这种形式:
select column1, column2, rn from (
select ds.*, row_number() over (partition by FOO order by BAR) rn
from datasource ds
where datasupplierid = 3)
where rn <= 2
但是,这并没有固定我的问题。有没有办法执行这样的查询?
线视图你查了一下Oracle看到使用SQL事件探查查询重写?当你在c#中构造查询时,可能会有一个简单的语法错误,例如换行符或空白缺失。 –
@NikolaMarkovinović任何暗示我该如何做这样的检查?我试过用查询,一些监视器与oracle sql developer集成,但没有一个好的结果。 –
对不起,过去二十年来,我几乎完全使用Sql Server。我试图找到一些关于在Oracle中进行跟踪/分析的有用信息,但失败了。看到[这个问题](http://stackoverflow.com/questions/148648/oracle-is-there-a-tool-to-trace-queries-like-profiler-for-sql-server)的一些信息的工具和系统表。 –