Consulta desde un SP a otro SQLServer: error 7405

23/02/2005 - 17:32 por Víctor | Informe spam
Hola gente.

Tengo dos SQLServer en dos máquinas diferentes. Necesito realizar una
consulta desde (A) sobre una tabla en (B).

He vinculado en (A) el servidor (B).
En (A), creo un Stored Procedure con la consulta: "select * from
[192.168.1.57].pyc.dbo.ic_contenido", y al darle a guardar me da el
siguiente error:

"Microsoft SQL-DMO (ODBC SQLState: 42000)
Error 7405: Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS
options to be set for the connection. This ensures consistent query
semantics. Enable these options and the reissue your query."

Vale. Me voy a las propiedades de las dos conexiones, y marco estas dos
opciones, cierro el Administrador, lo vuelvo a abrir, y me da el mismo
error.

Si lo pruebo desde el Analizador de consultas, sí me funciona, porque tiene
las dos opciones marcadas; si desmarco una de ellas, me da el mismo error.

¿Qué hago mal?

Preguntas similare

Leer las respuestas

#1 Isaías
23/02/2005 - 18:10 | Informe spam
En el QUERY ANALYZER, coloca tu script de creacion de
store procedure y antes del CREATE


SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
GO
CREATE PROCEDURE

GO
Respuesta Responder a este mensaje
#2 Víctor
23/02/2005 - 18:34 | Informe spam
Gracias.

Funciona perfectamente, incluso he probado en editar el SP (desde el
Enterprise Manager, que era donde me daba el error) y añadir otra consulta y
me deja.

Pero, ¿por qué desde el Query sí y desde el Enterprise no?

"Isaías" escribió en el mensaje
news:070701c519ca$8e04bad0$
En el QUERY ANALYZER, coloca tu script de creacion de
store procedure y antes del CREATE


SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
GO
CREATE PROCEDURE

GO

Respuesta Responder a este mensaje
#3 Alejandro Mesa
23/02/2005 - 18:49 | Informe spam
Victor,

Es un bug (error de fabrica) en EM.

BUG: Can't Use SQL Enterprise Manager to Create Stored Procedures Containing
Linked Server Objects
http://support.microsoft.com/defaul...-us;296769


AMB

"Víctor" wrote:

Gracias.

Funciona perfectamente, incluso he probado en editar el SP (desde el
Enterprise Manager, que era donde me daba el error) y añadir otra consulta y
me deja.

Pero, ¿por qué desde el Query sí y desde el Enterprise no?

"Isaías" escribió en el mensaje
news:070701c519ca$8e04bad0$
> En el QUERY ANALYZER, coloca tu script de creacion de
> store procedure y antes del CREATE
>
>
> SET ANSI_NULLS ON
> SET ANSI_WARNINGS ON
> GO
> CREATE PROCEDURE
>
> GO
>



Respuesta Responder a este mensaje
#4 Alejandro Mesa
23/02/2005 - 19:43 | Informe spam
Gustavo,

Asi es. Solo quise mostrarle por que pasa con EM si no se agregan las lineas
"SET ANSI_NULLS ON GO".


AMB

"Gustavo Larriera [MVP]" wrote:

El artículo dice como resolver el problema.

Hay que escribir el stored procedure en el Enterprise Manager como es la
forma usual, pero agregando las líneas al comienzo

SET ANSI_NULLS ON
GO


Funciona perfectamente.

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"Alejandro Mesa" wrote in
message news::
> Victor,
>
> Es un bug (error de fabrica) en EM.
>
> BUG: Can't Use SQL Enterprise Manager to Create Stored Procedures
> Containing
> Linked Server Objects
> http://support.microsoft.com/defaul...-us;296769
>
>
> AMB
>
> "Và­ctor" wrote:
>
> > Gracias.
> >
> > Funciona perfectamente, incluso he probado en editar el SP (desde el
> > Enterprise Manager, que era donde me daba el error) y aà±adir otra
> > consulta y
> > me deja.
> >
> > Pero, ¿por qué desde el Query sà­ y desde el Enterprise no?
> >
> > "Isaà­as" escribió en el
> > mensaje
> > news:070701c519ca$8e04bad0$
> > > En el QUERY ANALYZER, coloca tu script de creacion de
> > > store procedure y antes del CREATE
> > >
> > >
> > > SET ANSI_NULLS ON
> > > SET ANSI_WARNINGS ON
> > > GO
> > > CREATE PROCEDURE
> > >
> > > GO
> > >
> >
> >
> >


Respuesta Responder a este mensaje
#5 Isaías
24/02/2005 - 01:05 | Informe spam
Victor

Alejandro Mesa tiene razon, es un bug posiblemente, pero
contestando a tu respuesta de ¿porque en el Query SI y en
el EM, no?

Porque la primera instruccion que verifica EM, cuando
estas creando un STORE, es CREATE PROCEDURE, si colocal el
ANSI_NULL ON, te mandara un mensaje de error, a diferencia
de Query Analyzer, que para el, es una instruccion mas que
debe ejecutar.

Estas 2 opciones, deben estar en ON, cuando hacer
referencia a OTRO SERVIDOR dentro de un PROCEDIMIENTO.

Saludos.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida