私は、Informixデータベースに対してネイティブSQLクエリのセットを実行しようとしており、NHibernateを使用してクエリを作成しています。しかし、NHibernateはコロン(予約文字と思われる)を含んでいる場合にクエリを変更するように設定されているため、クエリは失敗します。NHibernateを使用してInformixデータベースに対してネイティブSQLクエリを実行中にコロン(:)文字をエスケープする方法はありますか?
CREATE PROCEDURE procedure_name()
...
SELECT FIRST id :: INTEGER INTO variable
...
END PROCEDURE;
NHibernateは、クエリを実行する前に、このように変換、InformixのはInvalid syntax
エラーをスロー
CREATE PROCEDURE procedure_name()
...
SELECT FIRST id ? INTEGER INTO variable
...
END PROCEDURE;
その時点で:これは、ネイティブSQLクエリのサンプルです。この件に関する議論がいくつかありましたが、妥当な対応や回避策は示されていません。
コロン文字にエスケープする方法があるかどうかを知りたいです(NHibernateの設定や構成を変更したり、別の方法でクエリを実行しています)。私はInformixのクエリを変更しても構いませんが、コロンで他のタイプのクエリを実行しようとすると、最終的には厄介なものになります。
ご意見やご提案は歓迎します。ありがとう!
NHibernateを使用してコロンをエスケープする方法はありません。しかし、代わりのためにありがとう。 – rae1
Pass - nHibernateがSQLに対して何をしているのか、それをどうやって行うのか、それをどうやって別の方法で設定するのかを知っている人から、そのような情報を得る必要があります。 –