LongText
SQL の列で1 時間ほど問題に直面しています。私は現在、ユーザーが多数のフィールドを検索できる検索フォームがある Web プロジェクトに取り組んでいます。お客様のユーザーが IE 9 の使用を余儀なくされたため、フォーム全体を解析し、IE の 2k 文字の制限を超えないように必要なものだけを取得する JavaScript... スクリプトを作成する必要がありました。
これまでのところ、DBtextarea
の列を表すフィールドを追加するまで、スクリプトは正常に機能していました。LongText
この問題は、SQL がString
SQL ステートメントの単純なテキストを LongText として受け取らないという事実に起因しているようです。
クエリは次のようになります。
SELECT * FROM SONORA.CF_CPR_CASE WHERE CASEFOLDERID != 2
and CMF_VLM_APPLICATION like '%CPR%' and CPR_DESCRIPTION='rererere'
and CMF_TYPE_CASE_FK like '%LC_130125_074927_000001_60%'
しかし、私はこのエラーが発生します:
EJBException:; nested exception is: javax.ejb.EJBException: The data types ntext
and varchar are incompatible in the equal to operator.S_EXCP(204); nested
exception is: javax.ejb.EJBException: The data types ntext and varchar
are incompatible in the equal to operator.S_EXCP(204)
Found in FmsQuery: SELECT * FROM {{DBTABLEPREFIX}}CF_CPR_CASE WHERE
CASEFOLDERID != 2 and CMF_VLM_APPLICATION like '%CPR%' and
CPR_DESCRIPTION='ztztztztz' and CMF_TYPE_CASE_FK like
'%LC_130125_074927_000001_60%'
あまり知られていませんが、まだあまり重要ではない CASE360 を使用しています。JavaScript を使用して SQL ステートメントの「where 句」を作成し、それを CASE360 プロセッサに送信します。CASE360 プロセッサはこれをすべて取得してクエリを実行します。この部分は問題なく動作します。苦労しているのは LongText 列だけです。
この SQL クエリが正常に解釈されるためには、どのように見えるべきかについて何か考えがあれば、私は無限に幸せです!
よろしくお願いいたします。