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.

Preguntas similare

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.


Respuesta Responder a este mensaje
#2 fabian
23/02/2004 - 11:09 | Informe spam
Perdona, pero no entiendo muy bien. Donde establezco los parámetros? He
probado a establecerlos en el analizador de consultas y luego he intentado
guardar el procedimiento pero me sigue dando el mismo error.

"Miguel Egea" escribió en el mensaje
news:usmaC4e%
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.
>
>


Respuesta Responder a este mensaje
#3 Miguel Egea
23/02/2004 - 11:17 | Informe spam
SET ANSI_WARNINGS ON
SET ANSI_NULLS ON
go
CREATE PROCEDURE [dbo].[actualizaEstadoEntradas] AS

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

y luego pruebas


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores

"fabian" escribió en el mensaje
news:uidOMUf#
Perdona, pero no entiendo muy bien. Donde establezco los parámetros? He
probado a establecerlos en el analizador de consultas y luego he intentado
guardar el procedimiento pero me sigue dando el mismo error.

"Miguel Egea" escribió en el mensaje
news:usmaC4e%
> 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.
> >
> >
>
>


Respuesta Responder a este mensaje
#4 fabian
23/02/2004 - 11:45 | Informe spam
OK ya esta. Muchas gracias

"Miguel Egea" escribió en el mensaje
news:etx1qYf%
SET ANSI_WARNINGS ON
SET ANSI_NULLS ON
go
CREATE PROCEDURE [dbo].[actualizaEstadoEntradas] AS

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

y luego pruebas


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores

"fabian" escribió en el mensaje
news:uidOMUf#
> Perdona, pero no entiendo muy bien. Donde establezco los parámetros? He
> probado a establecerlos en el analizador de consultas y luego he


intentado
> guardar el procedimiento pero me sigue dando el mismo error.
>
> "Miguel Egea" escribió en el mensaje
> news:usmaC4e%
> > 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.
> > >
> > >
> >
> >
>
>


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