none
Llamadas a funciones escalares mediante Linked Server (MySql) RRS feed

  • Pregunta

  • Hola!

    Presento el escenario y la duda que me surge y que espero que me puedan ayudar:

    Desde Management Studio, estoy intentando llamar a una función escalar de un Linked Server (MySql).

    Tengo claro que no se pueden hacer la llamadas de esta manera:

     select * from LS_REMOTO.Catalogo1.dbo.fnDestino('param1', 'param2',param3,param4)

    Ya que nos arroja el siguiente resultado:

    Msg 4122, Level 16, State 1, Line 28. No se permiten llamadas de función con valores de tabla remota.


    De esta otra manera si que consigo sin ningún problema ejecutar la función escalar:

     SELECT * FROM openquery(LS_Remoto, 'SELECT fnDestino(''param1'',''param2'',param3,param4)') go 1

    El probema es que la fnDestino se ejecuta dos veces! Entre las diferentes pruebas que he realizado, he probado a poner la etiqueta go 1, pero no ha resultado útil.

    Gracias de antemano por vuestros comentarios, cualquier ayuda será bien recibida. Saludos.

    viernes, 11 de enero de 2019 9:34

Respuestas

  • Hola!

    Es el caso primero que he puesto, no puedo hacer esa consulta porque en mi instancia local no tengo la fnDestino. Está en un servidor vinculado, y "No se permiten llamadas de función con valores de tabla remota".

    Saludos.

    viernes, 11 de enero de 2019 11:39

Todas las respuestas

  • Y si usas

    SELECT * FROM fnDestino

    • Propuesto como respuesta Pedro Alfaro viernes, 11 de enero de 2019 16:03
    viernes, 11 de enero de 2019 9:50
  • Hola!

    Es el caso primero que he puesto, no puedo hacer esa consulta porque en mi instancia local no tengo la fnDestino. Está en un servidor vinculado, y "No se permiten llamadas de función con valores de tabla remota".

    Saludos.

    viernes, 11 de enero de 2019 11:39
  • Siguiendo con mis pruebas, corroboro que si llamo directamente desde el entorno MySQL a la fnDestino estando conectado contra la instancia que tiene declarado el objeto fnDestino, solo lo inserta una vez.

    Sigo en ello...

    miércoles, 16 de enero de 2019 16:20