VISUAL BASIC.NET Y PROCEDIMIENTO ALMACENADO

29/04/2004 - 14:33 por fabian | Informe spam
hola, tengo una aplicación en visual basic.net que ejecuta varios
procedimientos almacenados. este procedimiento tiene un cursor que recorre
una tabla y comprueba en otra el estado de los pedidos, y de aquellos
pedidos que están en un determinado estado genera un fichero de texto
mediante la utilidad BCP. el caso es que no sé por qué motivo el resultado
no es el esperado. Sin embargo cuando ejecuto el procedimiento desde el
analizador de consultas lo hace bien.
alguien sabe a qué puede ser debido?

Gracias.

Preguntas similare

Leer las respuestas

#1 Hermilson
29/04/2004 - 14:52 | Informe spam
Hola Fabian

Aveces lo que sucede es que el stored procedure genera
mensajes alternos como WARNINGS, ERRORS o PRINTS, estos
mensajes se toman como datos y pueden causar respuestas
inesperadas, en SQL Server puedes utilizar SET NOCOUNT ON
para evitar el caso antes nombrado.

Espero que te sirva, de todas formas seria bueno que
explicaras que esperas y que es lo que sale.

Hermilson
Colombia

hola, tengo una aplicación en visual basic.net que


ejecuta varios
procedimientos almacenados. este procedimiento tiene un


cursor que recorre
una tabla y comprueba en otra el estado de los pedidos, y


de aquellos
pedidos que están en un determinado estado genera un


fichero de texto
mediante la utilidad BCP. el caso es que no sé por qué


motivo el resultado
no es el esperado. Sin embargo cuando ejecuto el


procedimiento desde el
analizador de consultas lo hace bien.
alguien sabe a qué puede ser debido?

Gracias.
Respuesta Responder a este mensaje
#2 fabian
29/04/2004 - 18:41 | Informe spam
el procedimiento es este. el problema es que desde VISUAL BASIC, a veces es
como si la consulta que hace al servidor ORACLE no devolviese ninguna linea,
cuando sé que si que debería devolver, y por lo tanto no me actuliza la
tabla de SQL (tb_entradas) ni me genera el fichero. Lo bueno es que si lo
ejecuto desde SQL server funciona a la perfección.


PROCEDURE [DBO].[COMPRUEBA_ENTRADAS_CARGADAS] AS
declare @pedi varchar(20)
declare @tt varchar(20)
declare @cd varchar(20)
declare @consig varchar(20)
declare @PED varchar(20)
DECLARE @FICHE VARCHAR(50)
DECLARE @FICH VARCHAR(50)
DECLARE @BCPCOM VARCHAR(255)

declare curEntradas cursor FOR
select npedido,tt,almacen,CONSIG from tb_entradas where estado='R' GROUP BY
npedido,tt,almacen,CONSIG
open curEntradas
fetch next from curEntradas into @pedi,@tt,@cd,@consig
while @@fetch_status=0
begin
SELECT @PEDÎNTRADA
FROM OPENQUERY([SERVIDOR ORACLE], 'SELECT * FROM TBENTRADAS')
ENTRADAS
where centrada = @pedi and tipo = @tt and ccent = @cd and cconsig = @consig
if @@ROWCOUNT<>0
begin
update tb_entradas
set estado='CC'
where npedido = @PED
SELECT @FICHE=FICHERO FROM tb_entradas
WHERE NPEDIDO = @PED
GROUP BY FICHERO
SET @FICH='C:\CET' + SUBSTRING(@FICHE,4,len(@FICHE)-1)
SET @BCPCOM='BCP servidorSQL.dbo.vwEntradasCargadas out ' + @FICH +
' -c -T -t;'
EXEC master..xp_cmdshell @BCPCOM
update tb_entradas
set estado='C', FECHACARGA=GETDATE()
where estado='CC'
end
fetch next from curEntradas into @pedi,@tt,@cd,@consig
end

close curEntradas
deallocate curEntradas

"Hermilson" escribió en el mensaje
news:5efa01c42de8$d60c9d30$
Hola Fabian

Aveces lo que sucede es que el stored procedure genera
mensajes alternos como WARNINGS, ERRORS o PRINTS, estos
mensajes se toman como datos y pueden causar respuestas
inesperadas, en SQL Server puedes utilizar SET NOCOUNT ON
para evitar el caso antes nombrado.

Espero que te sirva, de todas formas seria bueno que
explicaras que esperas y que es lo que sale.

Hermilson
Colombia

hola, tengo una aplicación en visual basic.net que


ejecuta varios
procedimientos almacenados. este procedimiento tiene un


cursor que recorre
una tabla y comprueba en otra el estado de los pedidos, y


de aquellos
pedidos que están en un determinado estado genera un


fichero de texto
mediante la utilidad BCP. el caso es que no sé por qué


motivo el resultado
no es el esperado. Sin embargo cuando ejecuto el


procedimiento desde el
analizador de consultas lo hace bien.
alguien sabe a qué puede ser debido?

Gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida