In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Store Provedures - mariadb y xailer

Foro público de Xailer en español
Responder
Claudio[1]
Mensajes: 59
Registrado: Vie May 01, 2009 5:40 am

Store Provedures - mariadb y xailer

Mensaje por Claudio[1] »

Estimados colegas:
Estoy tratando de recuperar un resultado en forma de tabla desde un
store procedure en mariadb. El problema es que la matriz con el
resultado es de las dimensiones correctas pero esta vací­a
Voy directo al ejemplo que prepare. Primero llamo al store procedure y
guardo el resultado en la matriz A. Luego hago el mismo select que hace
el store procedure y lo guardo en B.
// Llama al Store Procedure:daEjerciciAbiertos
A:= oOdbcDataSource1:QueryArray("CALL daEjerciciAbiertos()")
// Sentencia SQL idéntica a la que se ejecuta en el store procedure
B:= oOdbcDataSource1:QueryArray("SELECT nu_ejer , fe_aper, fe_cier FROM
ejercici where cerrado = 'N'")
la matriz A tiene 2 filas x 3 columnas, la B tambien.
Pero A esta con llena de espacios, y B tiene la información ok.
Nota 1:
El store procedure funcina ok en el utilitario de gestión de mariadb
(heidisql)
Nota 2:
Otros SP que devuelven un solo valor funcionan ok
Nota 3:
El codigo del SP es el siguiente:
CREATE DEFINER=`root`@`localhost` PROCEDURE `daEjerciciAbiertos`()
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SELECT nu_ejer , fe_aper, fe_cier FROM ejercici where cerrado = 'N';
END
Gracias por su tiempo y aguardo sugerencias del motivo u error.
Claudio
---
Este mensaje no contiene virus ni malware porque la protección de avast! Antivirus está activa.
http://www.avast.com
Claudio[1]
Mensajes: 59
Registrado: Vie May 01, 2009 5:40 am

Store Provedures - mariadb y xailer

Mensaje por Claudio[1] »

Alguna idea?
gracias
El 04/09/2014 a las #4, Contacto en Xailer escribió:
> Estimados colegas:
>
> Estoy tratando de recuperar un resultado en forma de tabla desde un
> store procedure en mariadb. El problema es que la matriz con el
> resultado es de las dimensiones correctas pero esta vací­a
>
> Voy directo al ejemplo que prepare. Primero llamo al store procedure y
> guardo el resultado en la matriz A. Luego hago el mismo select que hace
> el store procedure y lo guardo en B.
>
> // Llama al Store Procedure:daEjerciciAbiertos
> A:= oOdbcDataSource1:QueryArray("CALL daEjerciciAbiertos()")
>
> // Sentencia SQL idéntica a la que se ejecuta en el store procedure
> B:= oOdbcDataSource1:QueryArray("SELECT nu_ejer , fe_aper, fe_cier FROM
> ejercici where cerrado = 'N'")
>
> la matriz A tiene 2 filas x 3 columnas, la B tambien.
> Pero A esta con llena de espacios, y B tiene la información ok.
>
> Nota 1:
> El store procedure funcina ok en el utilitario de gestión de mariadb
> (heidisql)
>
> Nota 2:
> Otros SP que devuelven un solo valor funcionan ok
>
> Nota 3:
> El codigo del SP es el siguiente:
>
> CREATE DEFINER=`root`@`localhost` PROCEDURE `daEjerciciAbiertos`()
> LANGUAGE SQL
> NOT DETERMINISTIC
> CONTAINS SQL
> SQL SECURITY DEFINER
> COMMENT ''
> BEGIN
> SELECT nu_ejer , fe_aper, fe_cier FROM ejercici where cerrado = 'N';
> END
>
> Gracias por su tiempo y aguardo sugerencias del motivo u error.
>
> Claudio
>
> ---
> Este mensaje no contiene virus ni malware porque la protección de avast!
> Antivirus está activa.
> http://www.avast.com
>
---
Este mensaje no contiene virus ni malware porque la protección de avast! Antivirus está activa.
http://www.avast.com
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Store Provedures - mariadb y xailer

Mensaje por jfgimenez »

Claudio,
por favor, enví­anos un pequeño ejemplo autocontenido junto con un
volcado de la BD (con la mí­nima cantidad de registros posible) para
verlo nosotros aquí­.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Claudio[1]
Mensajes: 59
Registrado: Vie May 01, 2009 5:40 am

Store Provedures - mariadb y xailer

Mensaje por Claudio[1] »

Estimado José
Gracias por su atención.
Adjunto dos zip. UNo con la base de datos de mariadb y otro con el proyecto.
En el oninitialize del formulario estan las llamadas que realizo de
ejemplo con mis comentarios.
Cordialmente,
Claudio
El 08/09/2014 a las #4, Jose F. Gimenez escribió:
> Claudio,
>
> por favor, enví­anos un pequeño ejemplo autocontenido junto con un
> volcado de la BD (con la mí­nima cantidad de registros posible) para
> verlo nosotros aquí­.
>
>
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
---
Este mensaje no contiene virus ni malware porque la protección de avast! Antivirus está activa.
http://www.avast.com
--
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9440
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Store Provedures - mariadb y xailer

Mensaje por ignacio »

Buenos dí­as,
Me temo que la clase TOdbcDataSource está completamente descontinuada desde el lanzamiento de la versión 2 de Xailer. Es decir, desde hace muchí­simo tiempo. (año 2009)
Le recomendamos que utilice ADO sobre ODBC.
Un saludo
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Claudio[1]
Mensajes: 59
Registrado: Vie May 01, 2009 5:40 am

Store Provedures - mariadb y xailer

Mensaje por Claudio[1] »

Estimado Ignacio
Gracias por su tiempo y recomendación.
Hice el cambio y utilice ADO sobre ODBC.
Además de este cambio debí­ realizar otro: en la primer prueba usaba el
conector "ODBC MariaDB ODBC 1.0" . Con este conector obtení­a errores con
la clase TADODataSource.
Cambie el conector ODBC por el de "MySQL ODBC 5.3 ANSI" y funcionó perfecto.
En resumen: Funciona perfecto
- Xailer: 3.2
- Base de datos: mariadb
- Conector ODBC: el de MySQL
- Clase de xailer: TADODataSource
Comparto dos archivos:
- pequeño proyecto Xailer
- sql con BD de la prueba.
No es un gran ejemplo pero quizá sirva a quienes realicen sus primeros pasos
Saludos a todos,
Claudio
El 09/09/2014 a las #4, Ignacio Ortiz de Zúñiga escribió:
> Buenos dí­as,
> Me temo que la clase TOdbcDataSource está completamente
> descontinuada desde el lanzamiento de la versión 2 de
> Xailer. Es decir, desde hace muchí­simo tiempo. (año 2009)
>
> Le recomendamos que utilice ADO sobre ODBC.
>
> Un saludo
---
Este mensaje no contiene virus ni malware porque la protección de avast! Antivirus está activa.
http://www.avast.com
--
Responder