Programando en transac-SQL, Perl, JavaScript y XML mejor conocido como la historia de MSQLServer, El Camello, DOM y el nuevo Dios XML



Estaba editando un sencillito procedimiento almacenado para SQLserver en la chamba con la peculiaridad de que la consulta era en un servidor remoto cuando al intentar guardarlo sale una ventana con el siguiente error:

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 then reissue your query.

Despues de navegar un rato encontre la solucion en algun frio y lejano foro gringo y resulta que colocando las siguientes lineas antes del código del procedimiento deja de salir el error:

SET ANSI_NULLS ON
GO
SET ANSI_WARNINGS ON
GO

CREATE PROCEDURE sp_miprocedimientoalmacenado
@Opcion smallint
AS
SET XACT_ABORT ON

/* consultamos el la tabla en un server remoto al nuestro */
If @Opcion=1
Begin
Begin Tran
Select * from nombredelSERVER.nombredelaDB.dbo.tabla
Commit Tran
End
GO

Otra cosa es que esa dos lineas no apareceran la siguiente vez que abras el procedimiento, como que se las come el servidor, jaja, y claro que despues de comerselas activa esas opciones que como se puede suponer tiene que ver con la configuracion de caracteres o algo asi, ya no me puse a invertigar mas a fondo, pero aqui queda registrado a ver si le es util a alguien ya que tarde algo de tiempo en encontrarlo ... en español... nota mental: deja de buscar soluciones de tecnología en tu idioma, aprende inglés, japonés, chino y alemán... en ese orden.

1 comentario:

Anónimo dijo...

VIVA MEXICO
Muchas horas buscando el porque de esta porquería, y lo arregle con el hermano americano.
Soy Claudio - Argentina