クライアントが出力用に特定の列名を要求したという Oracle クエリを作成しようとしています。簡単に言えば、二重引用符を使用してoracle 列エイリアスを使用してクエリを記述します。(要求された列名が予約語であるため、引用符を使用していることに注意してください。)問題は、次のコードを使用してクエリを実行しようとすると
、エラーから を受け取っていることです。ORA-00911: invalid character
OracleCommand command = new OracleCommand(sqlquery, connection.Conn);
dt.Load(command.ExecuteReader());
オラクルの引用演算子とc# 文字列リテラルのさまざまな反復を試しました(つまり、@"これは ""testing"" theliteral" と "this is \"testing\" theliteral")。
クエリは、これを実行したいという点で単純です。
select column1 as "alias1" from dual;
これは、Oracle で直接実行すると機能しますが、.Net アプリケーション経由で実行することはできません。二重引用符をエスケープしてデバッガーでクエリを表示すると、次のようにフォーマットされていることがわかります。
select column1 as \"alias1\" from dual;
それは明らかだと思いますか?バックスラッシュが Oracle エラーの原因になっていることを確認しましたが、これを回避するにはどうすればよいですか?