日期:2014-05-18  浏览次数:20526 次

求助!!急 關于SQLserver 2000中的image類型的問題
各位高人
  您們好!
我最近遇到一個問題,查了好幾天的資料都沒有解決,請各位高手指點一下小弟,小弟在這里多謝了
問題如下:
  現在想把表一的資料轉到表二里,如表:
表一:table2
表結構: IdName2 varchar(20),--產品型號
Image2 image, -- 圖片信息
Depict2 varchar(50) –描述
表二: table3
表結構 IdName3 varchar(20), --產品型號
Image3 image, -- 圖片信息
Depict3 varchar(50) –描述


現在想把表一的數據copy到表二中
我的寫法為:
//先把表一中的資料copy到表二中
  insert into table3(IdName3, Image3, Depict3) select IdName2, Image2, Depict2 from table2 where IdName2=‘產品型號’
說明:因為在SQL說明書上查到,如果類型為image格式的不能直接用insert into來處理,用writetext 來處理,所以我接來又做了一步,說明一點,我是用SQLserver2000數據庫 ,如:

declare @i binary(8000)
declare @ptrval binary(16)
select @i= Image2 from table2 where IdName2=‘產品型號’
SELECT @ptrval = TEXTPTR(Image3)
FROM table3
WHERE IdName2= ‘產品型號
WRITETEXT table3. Image3 @ptrval @i


這種方法可以解決小圖片問題,而我的圖片差不多都是一兩百KB,現在binary最大值為8000B =7.8KB 所以圖片不能超過7.8KB,超過這個就不能打開圖片,請問可以用什么方法嗎?image類型可以轉其它什么類型來代替?謝謝



------解决方案--------------------
Syntax
WRITETEXT { table.column text_ptr } 
[ WITH LOG ] { data }
....
data

Is the actual text, ntext or image data to store. data can be a literal or a variable. The maximum length of text that can be inserted interactively with WRITETEXT is approximately 120 KB for text, ntext, and image data.