Comunidad Gambas-es
[SOLUCION PARCIAL] UNABLE TO FETCH ROW - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Bases de Datos (https://gambas-es.org/forum-6.html)
+--- Tema: [SOLUCION PARCIAL] UNABLE TO FETCH ROW (/thread-1795.html)



[SOLUCION PARCIAL] UNABLE TO FETCH ROW - omoreno - 20-09-2024

Hola colegas.

Estoy verificando una conexión ODBC a SQL Server pero la consultas y procedimientos almacenados ejecutados con EXEC que tengan validación siempre me retornan el error: 'UNABLE TO FETCH ROW'.

Gambas: 3.19.4
ODBC: FreeTDS o Microsoft ODBC 18
SQL Server: 2022 Express

Como retornan datos en sus procedimientos almacenados para que no les salga el error.
Por ejemplo, si quiero hacer un update de esta forma:
 
Código:
 
IF EXISTS (SELECT ID FROM Usuarios WHERE ID = '1')
  BEGIN
    UPDATE Usuarios 
    SET Nombre = 'Nombre x', Apellido = 'Apellido x'
    WHERE ID = '1'
    SELECT '1:ok' AS 'RESULTADO'
  END
ELSE
  BEGIN
    SELECT '0:NO EXISTE' AS 'RESULTADO'
  END

Adjunto un modulo de pruebas, gracias por las posibles repuestas.
Saludos.


RE: [SOLUCION PARCIAL] UNABLE TO FETCH ROW - omoreno - 21-09-2024

Hola colegas.

Después de varias pruebas me percate de que si la variable Result esta en el mismo ámbito, se le debe pasar Null antes de volver a usarla en un nuevo comando Exec, pero solo para sentencias SQL simples .

Lo anterior no lleva a separar los sentencias SQL en varias sub y lograr el mismo efecto aunque con varios accesos a la base de datos.

[Imagen: DmWsddO.png]

Saludos.


RE: [SOLUCION PARCIAL] UNABLE TO FETCH ROW - Shordi - 22-09-2024

Es una manera y siento no poder aportar nada, no tengo bases odbc donde probar, sorry. Sin embargo veo que sigues adelante. ¡Bien por ti!