Actualizar campos IMAGE

15/08/2006 - 17:18 por AlejoR | Informe spam
Que tal grupo.
Tengo un enrredo con una actualizacion de un campo image.
Primero no se puede actualizar (image, text, ntext) normalito con una
sentencia UPDATE, asi que toca utilizar WRITETEXT.
He leido los libros en linea, pero no logro que funcione... Ejecutando los
ejemplos que trae individualmente ..claro ..funcionan, pero al tratar de
acomodar eso a mis necesidades no hayo como!


Tengo que leer el contenido de un campo image de una tabla: Por ejemplo:

DECLARE @ptrval_L varbinary(16)
DECLARE @i int

SELECT @i = DATALENGTH(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON pr.pub_id = p.pub_id
AND p.pub_name = 'New Moon Books'

SELECT @ptrval_L = TEXTPTR(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON pr.pub_id = p.pub_id
AND p.pub_name = 'New Moon Books'
READTEXT pub_info.pr_info @ptrval_L 0 @i


Supuestamente hasta aca tengo el contenido del campo y un apuntador.
Ahora como p...s actualizo otra tabla con ese valor obtenido??? Se que
tengo que utilizar WRITETEXT

DECLARE @ptrval_A binary(16)
SELECT @ptrval_A = TEXTPTR(pr_info)
FROM pub_info pr, publishers p
WHERE p.pub_id = pr.pub_id
AND p.pub_ID = 0877
WRITETEXT pub_info.pr_info @ptrval_A 'Nuevo valor'

Pero la idea es, en donde esta 'Nuevo Valor' colocar el contenido que
anteriormente leí, pero de donde lo saco??? Donde quedó almacenado si en
@ptrval_L quedo es el apuntador y no el contenido.

Si hago esto: WRITETEXT pub_info.pr_info @ptrval_A @ptrval_L saca error!


Un helpsito por favor!
 

Leer las respuestas

#1 Alejandro Mesa
15/08/2006 - 17:56 | Informe spam
AlejoR,

No hetrabajado mucho con este tipo de columna, pero al parecer no existe una
sentencia en T-SQL que permite leer una imagen desde una tabla y actualizar
una columna en otra tabla con el valor leido.

Quizas si bajas esa imagen hacia un archivo y luego la subes hacia la
tabla-columna destino, mediante el uso del utilitario textcopy.exe que viene
con SQL Server (al menos 2000).

SQL Server Administrative and Programming Tools
http://www.windowsitlibrary.com/Con.../03/4.html

Copy text or image into or out of SQL Server
http://www.mssqlcity.com/Articles/K...xtcopy.htm

Expert Knowledgebase
http://expertanswercenter.techtarge...96,00.html


AMB


"AlejoR" wrote:

Que tal grupo.
Tengo un enrredo con una actualizacion de un campo image.
Primero no se puede actualizar (image, text, ntext) normalito con una
sentencia UPDATE, asi que toca utilizar WRITETEXT.
He leido los libros en linea, pero no logro que funcione... Ejecutando los
ejemplos que trae individualmente ..claro ..funcionan, pero al tratar de
acomodar eso a mis necesidades no hayo como!


Tengo que leer el contenido de un campo image de una tabla: Por ejemplo:

DECLARE @ptrval_L varbinary(16)
DECLARE @i int

SELECT @i = DATALENGTH(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON pr.pub_id = p.pub_id
AND p.pub_name = 'New Moon Books'

SELECT @ptrval_L = TEXTPTR(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON pr.pub_id = p.pub_id
AND p.pub_name = 'New Moon Books'
READTEXT pub_info.pr_info @ptrval_L 0 @i


Supuestamente hasta aca tengo el contenido del campo y un apuntador.
Ahora como p...s actualizo otra tabla con ese valor obtenido??? Se que
tengo que utilizar WRITETEXT

DECLARE @ptrval_A binary(16)
SELECT @ptrval_A = TEXTPTR(pr_info)
FROM pub_info pr, publishers p
WHERE p.pub_id = pr.pub_id
AND p.pub_ID = 0877
WRITETEXT pub_info.pr_info @ptrval_A 'Nuevo valor'

Pero la idea es, en donde esta 'Nuevo Valor' colocar el contenido que
anteriormente leí, pero de donde lo saco??? Donde quedó almacenado si en
@ptrval_L quedo es el apuntador y no el contenido.

Si hago esto: WRITETEXT pub_info.pr_info @ptrval_A @ptrval_L saca error!


Un helpsito por favor!





Preguntas similares