2011-08-19 100 views
0
select * from tableName where somecode = '$$$$$$$&8Y~$$$$' 

與OEM_sqlplus_input_finished更換及當我跑在sqlplus工作表此查詢,我得到的輸出是這樣的:甲骨文 - 在選擇查詢

爲8Y輸入值:老2:和somecode =「$$ $$$$$ & 8Y〜$$$$') 新2:與somecode = '$$$$$$$ OEM_sqlplus_input_finished〜$$$$')選擇

沒有行

我的問題是,如果使用OracleConnection和OracleCommand(命令類型爲文本)從ASP.NET應用程序執行此查詢,它將作爲查詢1或2執行嗎?

1. select * from tableName where somecode = '$$$$$$$&8Y~$$$$' 
2. select * from tableName where somecode = '$$$$$$$OEM_sqlplus_input_finished~$$$$' 

如果在的話,我如何禁用參數替換像這樣當前的OracleConnection會話只(恢復到不管它是關閉連接後)?

(它是舊的.NET 1.1應用程序,所以的OracleConnection和的OracleCommand被使用)

回答

1

替換的起始符號(&)的變量是由SQL提供的功能*加。它既不是SQL,也不是PL/SQL。 SQL Developer實現了大部分這些SQL * Plus擴展。

因此,在您的.NET應用程序中,&符號沒有特殊含義。

您也可以加*和SQL開發者通過執行關閉它在SQL:

SET DEF OFF