私は(T-SQLで)このSQLクエリを持っている:Npgsql:ODBCエスケープシーケンスを認識できますか?
--DECLARE @strTerm varchar(300)
--SET @strTerm = 'c'
SELECT TOP 10
USR_ID
,USR_UserName
FROM T_Benutzer
WHERE (1=1)
--AND {fn LCASE(USR_UserName)} LIKE {fn LCASE(@strTerm + '%')}
AND {fn LCASE(BE_User)} LIKE {fn LCASE({fn CONCAT(@strTerm, '%')})}
--AND BE_Hide = 0
AND BE_Hide = 'false'
ORDER BY USR_UserName
その後、私はオートマジックの正規表現を持って、私は次の出力文を生成しPostgreSQLの、とトップ構文は互換性を持たせるために、オンに切り替えることができ変換入力ステートメントから:
SELECT
USR_ID
,USR_UserName
FROM T_Benutzer
WHERE (1=1)
AND {fn LCASE(BE_User)} LIKE {fn LCASE({fn CONCAT(@strTerm, '%')})}
AND BE_Hide = 'false'
ORDER BY USR_UserName
LIMIT 10
私はこれは、PostgreSQLに取り組んでほとんどのものを得るために十分でなければならないと思ったが、今私はNpgsqlのは、ODBCエスケープシーケンスを認識しないことを実現({FN何でも()})。
Npgsql接続文字列の設定に、私がオンにすることができるオプションがありますか、それともPostgres自体にありますか?
私は運が悪いですし、関数を置き換えるODBCエスケープ関数を書く必要がありますか?
ODBCドライバ自体を使用したくないことに注意してください.Windowsのラッパーのモノラル実装は疑わしい品質です。 –