存入4000以上字串,出現錯誤 -> ORA-01704: 字串內容過長 |
答題得分者是:懷舊的人
|
allen_m2k
一般會員 發表:3 回覆:3 積分:1 註冊:2006-07-13 發送簡訊給我 |
小弟使用ADOQuery + Oracle 9i 寫入型態為CLOB的欄位
字串長度超過4000以上,最長達1萬多 寫入時出現錯誤ORA-01704: 字串內容過長 不知道是String 還是 ADO 或是Oracle 有問題 var ls_sql:string; begin ls_sql:='Insert into xxx values(.....)';//某欄位資料長度超過4000 ADOQuery.SQL.Text:=ls_sql; ADOQuery.ExecSQL; end; 小弟問過朋友,CLOB可以存超過4000以上的字串 所以不知道哪裡出了問題,請各位前輩賜教。 |
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
===================引 用 allen_m2k 文 章=================== var ls_sql:string; begin ls_sql:='Insert into xxx values(.....)';//某欄位資料長度超過4000 ADOQuery.SQL.Text:=ls_sql; ADOQuery.ExecSQL; end; 直接用 INSERT INTO VALUES 的長度都會有限制 改用參數帶進去就可以了 ADOQUERY.CLOSE; ADOQUERY.SQL.CLEAR; ADOQUERY.SQL.ADD('INSERT INTO XXX VALUES (...,:CLOBFIELD,..)'); ADOQUERY.PARAMETERS.PARAMBYNAME('CLOBFIELD').VALUE := CLOBSTRING; ADOQUERY.EXECSQL; |
allen_m2k
一般會員 發表:3 回覆:3 積分:1 註冊:2006-07-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |