Error en procedimiento almacenado

23/02/2004 - 09:41 por fabian | Informe spam
Buenas,

tengo el siguiente procedimiento almacenado que ejecuta una actualización en
una tabla de SQL Server, comprobando las referencias que se encuentran en
una tabla de Oracle. Si ejecuto esta consulta de actualización en el
analizador de consultas, no hay ningún problema, pero al ir a guardarlo como
procedimiento almacenado me dá un error ( Error 7405 :Las consultas
heterogéneas requieren que se establezcan las opciones ANSI_NULLS y
ANSI_WARNINGS de la conexión.)
El tema es que las establezco pero me sigue dando el mismo error. Alguien
sabe qué es lo que estoy haciendo mal?


CREATE PROCEDURE [dbo].[actualizaEstadoEntradas] AS

SET ANSI_WARNINGS ON
SET ANSI_NULLS ON

UPDATE tb_entradas
SET estado = 'RE'
FROM tb_entradas LEFT OUTER JOIN OPENQUERY (<SERV ORACLE>, "SELECT
REFERENCIA FROM ARTI") AS ARTICULOS
ON tb_entradas.referencia = ARTICULOS.REFERENCIA
WHERE TB_ENTRADAS.ESTADO='R' AND ARTICULOS.REFERENCIA IS NULL

GO

Gracias.
 

Leer las respuestas

#1 Miguel Egea
23/02/2004 - 10:19 | Informe spam
No tienes que hacerlo dentro del sp, prueba a hacerlo fuera del sp y crear
el procedimiento con esos parámetros set establecidos, esos parámetros
quedan guardados al entorno del procedimiento.No tengo ningún server oracle
(si tengo, pero no tengo en los sql instalado el cliente y bien configurado)
para probarlo

Saludos
Miguel Egea


"fabian" escribió en el mensaje
news:Otov5ie#
Buenas,

tengo el siguiente procedimiento almacenado que ejecuta una actualización


en
una tabla de SQL Server, comprobando las referencias que se encuentran en
una tabla de Oracle. Si ejecuto esta consulta de actualización en el
analizador de consultas, no hay ningún problema, pero al ir a guardarlo


como
procedimiento almacenado me dá un error ( Error 7405 :Las consultas
heterogéneas requieren que se establezcan las opciones ANSI_NULLS y
ANSI_WARNINGS de la conexión.)
El tema es que las establezco pero me sigue dando el mismo error. Alguien
sabe qué es lo que estoy haciendo mal?


CREATE PROCEDURE [dbo].[actualizaEstadoEntradas] AS

SET ANSI_WARNINGS ON
SET ANSI_NULLS ON

UPDATE tb_entradas
SET estado = 'RE'
FROM tb_entradas LEFT OUTER JOIN OPENQUERY (<SERV ORACLE>, "SELECT
REFERENCIA FROM ARTI") AS ARTICULOS
ON tb_entradas.referencia = ARTICULOS.REFERENCIA
WHERE TB_ENTRADAS.ESTADO='R' AND ARTICULOS.REFERENCIA IS NULL

GO

Gracias.


Preguntas similares