全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1770
推到 Plurk!
推到 Facebook!

使用TStream處理CLOB filed資料 有size的限制?

缺席
shoda
一般會員


發表:1
回覆:0
積分:0
註冊:2006-10-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-10-19 00:06:12 IP:59.115.xxx.xxx 未訂閱
我要從 oracle 的 CLOB 欄位中讀取資料 翻了一下之前的文章都建議使用 TStream
但是我想將 TStream 的資料丟到 char* 型態 再給另一個 parser 作處理
但是實作上使用 TStream->ReadBuffer() 時會遇到 TStream 的 Size 限制(type: int)
而無法將資料完整地讀取出來使用
想請教各位該如何解決這個問題?程式片段如下:
AnsiString sSQL("SELECT * FROM test_clob ");
cQuery->Close();
cQuery->SQL->Clear();
cQuery->SQL->Add(sSQL);
cQuery->Prepare();
cQuery->Open();
while (!cQuery->Eof) {
if (cQuery->FieldByName("F2")->IsBlob()) {
TStream* Stream;
// 我的程式在這邊要將 TStream 的資料讀進 buffer 卻遇到 TStream Size 的限制
Stream = cQuery->CreateBlobStream(cQuery->FieldByName("F2"), bmRead);
void* buffer = malloc(Stream->Size);
Stream->ReadBuffer(buffer, Stream->Size);
free(buffer);
}
cQuery->Next();
}

系統時間:2017-10-20 9:36:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!