Insertar Imágenes mediante proced almacenado
Publicado por Cristian (14 intervenciones) el 08/11/2021 02:41:28
Hola:
Arme el siguiente código para insertar imágenes a una aplicación usando FILESTREAM:
INSERT INTO DBO.IMG_FS2
VALUES ( NEWID(),'',
(SELECT * FROM OPENROWSET(BULK N'D:\COMPUSOF\ColegioMDLL\Bin\$.GIF', SINGLE_BLOB) as FS),
'8003','CERTIFICADO','ALTA','CRISTIAN','2021/11/07','20:54:54',' ',' ',' ')
El código es ejecutado en embebido dentro de la APP y funciona correctamente
Ahora la idea es hacerlo mediante procedimiento almacenado ya que cuando ejecuto la aplicación en una red, si la imagen se encuentra en una maquina cliente, la inserción no se realiza. Si el código lo ejecuto dentro del sql server, la inserción si se realiza por lo que quiero probar mediante un procedimiento almacenado pero no estoy pudiendo crearlo ya que al hacerlo me tira el siguiente error
Mens 102, Nivel 15, Estado 1, Procedimiento USP_Insertando_Imagen, Línea 13
Sintaxis incorrecta cerca de '@CONTENIDO'.
El script que escribo para crear el procedimiento es el siguiente:
CREATE PROCEDURE USP_Insertando_Imagen
@DESCRIPCION VARCHAR(255),
@CONTENIDO VARBINARY(MAX),
@IdNumLegajo INT,
@TipoFoto CHAR(25),
@Estado CHAR(10),
@Usuario CHAR(25),
@FechaAlta DATE,
@HoraAlta CHAR(8)
AS
INSERT INTO DBO.IMG_FS2
VALUES ( NEWID(),@DESCRIPCION,
(SELECT * FROM OPENROWSET(BULK @CONTENIDO, SINGLE_BLOB) as FS),
IdNumLegajo,@TipoFoto,@Estado,@Usuario,@FechaAlta,@HoraAlta,' ',' ',' ')
La estructura de la tabla es la siguiente
ID INT IDENTITY,
ID2 UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE,
DESCRIPCION VARCHAR(255),
CONTENIDO VARBINARY(MAX) FILESTREAM,
IdNumLegajo INT,
TipoFoto CHAR(25),
Estado CHAR(10),
Usuario CHAR(25),
FechaAlta DATE,
HoraAlta CHAR(8),
ModificadoPor CHAR(25),
FechaUltimaModificacion DATE,
HoraModificacion CHAR(8)
Alguien puede darme una mano? que estare haciendo mal?
Estoy usando SLQ Server Express 2014
Gracias
Arme el siguiente código para insertar imágenes a una aplicación usando FILESTREAM:
INSERT INTO DBO.IMG_FS2
VALUES ( NEWID(),'',
(SELECT * FROM OPENROWSET(BULK N'D:\COMPUSOF\ColegioMDLL\Bin\$.GIF', SINGLE_BLOB) as FS),
'8003','CERTIFICADO','ALTA','CRISTIAN','2021/11/07','20:54:54',' ',' ',' ')
El código es ejecutado en embebido dentro de la APP y funciona correctamente
Ahora la idea es hacerlo mediante procedimiento almacenado ya que cuando ejecuto la aplicación en una red, si la imagen se encuentra en una maquina cliente, la inserción no se realiza. Si el código lo ejecuto dentro del sql server, la inserción si se realiza por lo que quiero probar mediante un procedimiento almacenado pero no estoy pudiendo crearlo ya que al hacerlo me tira el siguiente error
Mens 102, Nivel 15, Estado 1, Procedimiento USP_Insertando_Imagen, Línea 13
Sintaxis incorrecta cerca de '@CONTENIDO'.
El script que escribo para crear el procedimiento es el siguiente:
CREATE PROCEDURE USP_Insertando_Imagen
@DESCRIPCION VARCHAR(255),
@CONTENIDO VARBINARY(MAX),
@IdNumLegajo INT,
@TipoFoto CHAR(25),
@Estado CHAR(10),
@Usuario CHAR(25),
@FechaAlta DATE,
@HoraAlta CHAR(8)
AS
INSERT INTO DBO.IMG_FS2
VALUES ( NEWID(),@DESCRIPCION,
(SELECT * FROM OPENROWSET(BULK @CONTENIDO, SINGLE_BLOB) as FS),
IdNumLegajo,@TipoFoto,@Estado,@Usuario,@FechaAlta,@HoraAlta,' ',' ',' ')
La estructura de la tabla es la siguiente
ID INT IDENTITY,
ID2 UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE,
DESCRIPCION VARCHAR(255),
CONTENIDO VARBINARY(MAX) FILESTREAM,
IdNumLegajo INT,
TipoFoto CHAR(25),
Estado CHAR(10),
Usuario CHAR(25),
FechaAlta DATE,
HoraAlta CHAR(8),
ModificadoPor CHAR(25),
FechaUltimaModificacion DATE,
HoraModificacion CHAR(8)
Alguien puede darme una mano? que estare haciendo mal?
Estoy usando SLQ Server Express 2014
Gracias
Valora esta pregunta


0