Hola... tengo unas tablas fox locales en el servidor
Utilizando la herramienta administrativa de sql server 2000 creo un servidor
vicnulado lloamado JET4.
Inclusive puedo desde el arbol de dicho servidor ver las tablas del
directorio...
Luego desde el analizador de consultas de sql server 2000 escribo el
siguiente comando>
SELECT * FROM openquery(JET4,'select * FROM Afiliado WHERE
LEFT(NOMBRE,6)="ZURITA"')
como para probar y ohhh buenisimo... me devuelve las filas de mi tabla fox
con la condicion especificada.
Ahora viene el problema, decido crear un proc. almacenado para que a traves
de parametros logre que me devuelva los datos que necesito.
Pero como para probar COPIO LA CONSULTA QUE ESTA ARRIBA (que funciona desde
el analizador), hago comprobar sintaxis y me da ok... hago aceptar (para
gurdar) y da el siguiente error:
Error 7405> Las consultas heterogeneas requieren que se establezcan las
opciones ANSI?NULLS y ANSI_WARNIGS de la conexion. Asi se asegura una
semantica de consulta coherente. Active estas opciones y ejecute de nuevo la
consulta.
Entonces desde el administrador corporativo voy a propiedades de mi base de
datos... hago boton derecho => propiedades ... luego en la pestaña
conexiones y en la lista tildo las opciones ANSI WARNING y ANSI nulls,
obteniendo similares resultados al intentar grabar el procedimiento
almacenado. abajo adnunto copia textual de mi procedimiento alamacenado
QUE HAGO? COMO LO HAGO?
Desde ya muchas gracias
PROCEDIMIENTO ALAMACENADO
CREATE PROCEDURE [dbo].[RecuperaAfiliados]
@pNroAfiliado nvarchar,
@pNombreAfiliado nvarchar,
@NroRegsEncontrados smallint output
AS
SET NOCOUNT ON
DECLARE @error int
DECLARE @Ejecutar nvarchar
BEGIN
SET NOCOUNT ON;
IF @pNroAfiliado!=''
BEGIN
select * from openquery(JET4,'select * FROM Afiliado WHERE
LEFT(NOMBRE,6)="ZURITA"')
SELECT @error = @@ERROR, @NroRegsEncontrados = @@ROWCOUNT
END
END
RETURN @error
GO
Hugo A. Gsell
Sgo del Estero
Argentina
Leer las respuestas