Saltar al contenido

Ejecutar proceso almacenado con OPENQUERY

No dejes de divulgar nuestra página y códigos con otro, necesitamos de tu ayuda para hacer crecer esta comunidad.

Solución:

Esto funcionó para mí,

SELECT * FROM OPENQUERY(LOCALSERVER, 'SET FMTONLY OFF EXEC snr.dbo.GetAllSignals @controlRunId = 25, @experimentRunId = 26')

Estaba creando tablas temporales y por eso me denegaron el acceso

Aquí hay más información http://www.sommarskog.se/share_data.html#OPENQUERY

Creo un sp que no devuelve ningún valor y no funciona. ¡Tu SP en mysql tiene que devolver un valor! por ejemplo hago esto en “mysql”:

CREATE DEFINER=`root`@`localhost` PROCEDURE `MyPro`(IN `Name` VARCHAR(50), IN `Id` INT, OUT `Result` INT)
MODIFIES SQL DATA
BEGIN
DECLARE Result INT;
    SET Result = 0;
INSERT into MyTable (Id,Name)  VALUES(Id,Name);
SELECT Result;

END

Ese “Id” y “Nombre” son parámetros de entrada y “Resultado” son parámetros de salida y crean un servidor vinculado en SQL SERVER y lo llaman así:

select * from openquery
(
    Test,'call mydb.MyPro(''Name'',''16'', @P0);'
)

funciona para mi 😀

Te invitamos a sustentar nuestra tarea poniendo un comentario y puntuándolo te estamos eternamente agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *