存取NTEXT欄位的問題 |
尚未結案
|
dannynice
一般會員 發表:12 回覆:19 積分:6 註冊:2003-07-25 發送簡訊給我 |
請教各位高手 小弟我有筆資料大於10000個字要存入SQL Server 2000中結果會出現字串資料右側被截的錯誤,如果存入的字數小於8000就沒有問題,請問有什麼方式可以處理,我的環境是win2000 pro BCC6.0
指令如下
SeekTXTCommand->CommandText="insert into TELNtext(Ntext)value((:Telntext));
ADOCommand->Parameters->ParamByName("ntext")->Value=(Variant)SaveDataValue[10];
謝謝 發表人 - Mickey 於 2004/01/07 22:12:43
|
James
高階會員 發表:10 回覆:290 積分:220 註冊:2002-07-25 發送簡訊給我 |
|
dannynice
一般會員 發表:12 回覆:19 積分:6 註冊:2003-07-25 發送簡訊給我 |
|
James
高階會員 發表:10 回覆:290 積分:220 註冊:2002-07-25 發送簡訊給我 |
你可能要攔一下 SQL , 你應該會看到類似的指令
exec sp_executesql N'insert into TABLE1 (A, B) values (@P1 , @P2 )', N'@P1 varchar(10),@P2 text', '010658812', '010524078 0123'你看看是不是你的 nText 型態欄位透過 ADOCommand 存入的時候他是轉成 char or varchar , 如果是轉成那個話 , 就可能是會受到 MSSQL 的限制, 因為那兩個型態的長度是 8000 , 因為我用 Delphi 的環境下測試是沒有問 題的 , 不知道是不是 BCC 在封裝的時候哪裡出了問題了.... |
dannynice
一般會員 發表:12 回覆:19 積分:6 註冊:2003-07-25 發送簡訊給我 |
|
James
高階會員 發表:10 回覆:290 積分:220 註冊:2002-07-25 發送簡訊給我 |
糟糕, 我測試完就砍掉程式了... :P 基本上我建立一個 Table ( Table1 ) 有兩個欄位, 其中 B 我分別用 Text
和 NText測試過 ,而程式方面 ,我是利用 TAdodataset 和 TAdoCommand 分
別測試直接透過填入欄位值 ,讓 TAdodataset 去組 SQL異動資料庫以及利用
TAdocommand ,放入 'insert into Table1 values (:A , :B )' , 利用填入
Parameter 的方式來異動資料庫, 這兩個方式都是沒有問題的 !! 但是因為你說的狀況是你存入8K 以下就沒有問題, 而正式MSSQL Char 型態
欄位的大小限制 ,因此我想可能是欄位型態轉換的時候可能你的指令轉成的
是 char or varchar ,所以建議您利用SQL Profiler 去攔 SQL 指令 ,我想
問題就容易找到了 !!
|
dannynice
一般會員 發表:12 回覆:19 積分:6 註冊:2003-07-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |