我在SQL中使用LongText
列時遇到了一個小時左右的問題。 我目前正在開發一個Web項目,在這個項目中,我們有一個搜索表單,允許用戶搜索大量字段。由於客戶的用戶被迫使用IE 9,我們不得不創建一個javascript ...腳本,它解析整個表單,並且只爲了不超過IE限制的2k字符而需要的。如何將一個Javascript字符串轉換爲SQL LongText
到目前爲止,腳本工作正常,直到我們在我們的數據庫中添加了textarea
字段代表LongText
列。這個問題似乎來自於SQL不會將簡單的String
作爲LongText在SQL語句中。
下面是該查詢的樣子:
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處理器,該處理器將全部執行並執行查詢。這部分工作正常,只是LongText列給我一個很難的時間。
如果你們有什麼想法這個SQL查詢應該看起來像被成功解釋,那麼我會無限開心!
非常感謝您的幫助。
在JavaScript代碼中,客戶端上有SQL語句嗎? – Yuck 2013-03-06 13:22:46
嗯,不,我們正在構建SQL Where子句的客戶端,然後用一些魔術技巧把它交給服務器,然後執行它並給出結果。但這不是重點 – 2013-03-06 13:23:54
你說得對,它不是重點,但它仍然非常可怕。 – Yuck 2013-03-06 13:25:42