Visual Basic - Problema para guardar array de bytes en SQL server

Life is soft - evento anual de software empresarial
 
Vista:

Problema para guardar array de bytes en SQL server

Publicado por Christopher (6 intervenciones) el 21/12/2004 18:23:30
Hola, estoy desarrollando una aplicacion en VB6 y SQLserver 2000.
El asunto es que en al programa tengo un arreglo de bytes que quiero almacenarlos en la BD. Para esto en la BD hay un campo de tipo 'varbinary ' que almacenara el arreglo.
He tratado de varias formas y no he podido hacerlo. Una de la maneras es la siguiente:

Implemente un procedimiento almacenado la BD para hacer un insert en la tabla. Este procedimiento recibe los parametros desde la aplicacion. El procedimiento es el siguiente:

CREATE PROCEDURE [insertHuella]
(@rut_alumno_1 [varchar](10),
@huella_2 [varbinary](1542),
@conflictiva_3 [bit])

AS INSERT INTO [DCSC].[dbo].[alumno]
( [rut_alumno],
[huella],
[conflictiva])

VALUES
( @rut_alumno_1,
@huella_2,
@conflictiva_3)
GO

El codigo de la aplicacion que llama al procedimiento para realizar el insert es el siguiente (estoy usando ADODB):

Dim cmd As ADODB.Command
Set cmd = New ADODB.Command

cmd.CommandType = adCmdStoredProc
cmd.ActiveConnection = conexion ' conexion activa y sin problemas
cmd.CommandText = "insertHuella" ' es el nombre del procedimiento

'Parametro: rut_alumno_1 , que es un string de largo 10
cmd.Parameters.Append cmd.CreateParameter("rut_alumno_1", adVarChar, adParamInput, 10, rut)

'Segundo parametro que es boolean
cmd.Parameters.Append cmd.CreateParameter("conflictiva_3", adBoolean, adParamInput, , 0)

'y por ultimo agrego el parametro que corresponde a la un arreglo de bytes y lo guardo en un campo varbinary de la bd
'El arreglo esta definido como: dim huella(1542) as Byte
cmd.Parameters.Append cmd.CreateParameter("huella_2", adVarBinary, adParamInput, 1542)
cmd.Parameters("huella_2").Attributes = adFldLong
cmd.Parameters("huella_2").AppendChunk huella
cmd.Execute

Ojala alguien me puede decir que esta mal, o de que manera guardar el arreglo de bytes en la BD.
Y tambien despues como recuperar el arreglo de la BD que tampoco se hacerlo.

Ok, chao gracias.
Christopher.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema para guardar array de bytes en SQL ser

Publicado por Cecilia Colalongo (3116 intervenciones) el 22/12/2004 15:54:55
Fijate en http://www.mvps.org/vexpert/articles/adoImages.htm que tienes una forma de hacerlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema para guardar array de bytes en SQL ser

Publicado por christopher (6 intervenciones) el 23/12/2004 20:13:18
Al parecer guardo la imagen en la BD.
Ahora el problema es sacarla. me da un mesaje de error diciendo: "No se puede asignar a un array"

Lo que hago es :
para ingresar (funciona):
rs.addnew
rs.Fields("huella").Value= fpm2()
rs.update

para sacar de BD:
fpm2=rs.Fields("huella").Value

donde: fpm2 es arreglo de bytes
rs: es el recordset de la consulta sql.

no entiendo que pasa. Cualquier comentario al respecto me sirve
gracias,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar