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

を交換&OEM_sqlplus_input_finishedで、私はこのような出力を得る:古い2:Oracleは - 私はSQLPlusをワークシートにこのクエリを実行したときに選択クエリに

は8Yに値を入力し、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のセッションのために、このように置き換えるパラメータを無効にする方法のみ(バック何に戻り、接続を閉じた後でしたか)?

(OracleConnectionのとのOracleCommandが使用されているので、それは、古い.NET 1.1アプリケーションです)

答えて

1

アンパサンド(&)で始まる変数の交換は、SQL *プラスが提供する機能です。これはSQLでもPL/SQLでもありません。 SQL Developerは、これらのSQL * Plus拡張のほとんどを実装しています。

.NETアプリケーションでは、アンパサンドに特別な意味はありません。

また* PlusおよびSQL Developerを実行することによって、SQLでそれをオフにすることができます:

SET DEF OFF