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)的一些信息的工具和系統表。 –