Página 1 de 1
Usando Mariadb para un cgi
Publicado: Lun Jun 09, 2025 3:44 am
por michaelp
Saludos estoy probando con compilar un cgi conectando a una base de datos usando maria DB
Estoy probando con esto oConn := TMariaDB():New()
oConn:cHost := "localhost"
oConn:cUser := "root"
oConn:cPassword := "12345678"
oConn:cDatabase := "atest"
oConn:nPort := 3306
IF oConn:Open()
cSql := "SELECT fecha, codigom, ingreso, cargo FROM fingresos WHERE cfecha >= '2024-01-01'"
oRs := oConn:Query( cSql )
.
D:/nuevosmysql/proyecto2025/webcgi/CGI/Obj/HelloWorld.o:(.data+0x88): undefined reference to `HB_FUN_XA_BREAK'
D:/nuevosmysql/proyecto2025/webcgi/CGI/Obj/HelloWorld.o:(.data+0xa8): undefined reference to `HB_FUN_TMARIADB'
0 Files, 0 Warnings, 2 Errors
Alguien me podria indicar donde esta el error , si ya cargue todas las librerias correspondientes a mariadb
Agradeceria su ayuda
Re: Usando Mariadb para un cgi
Publicado: Lun Jun 09, 2025 4:55 pm
por ignacio
Hola,
La clase es TMariaDBDatasource(). La librería CGI de Xailer incorporó MARIADB en al versión 9.2.2
La función XA_BREAK() está defninida en la librería CGILib.a
Saludos
Re: Usando Mariadb para un cgi
Publicado: Lun Jun 09, 2025 6:04 pm
por michaelp
Probe con esto oConn := TMariaDBDatasource():New()
oConn:cHost := "localhost"
oConn:cUser := "root"
oConn:cPassword := "12345678"
oConn:cDatabase := "atest"
oConn:nPort := 3306
En una aplicación de escritorio trabaja muy bien 0 problemas
Pero sigo teniendo el error
D:/nuevosmysql/proyecto2025/webcgi/CGI/Obj/HelloWorld.o:(.data+0x98): undefined reference to `HB_FUN_TMARIADBDATASOURCE'
Yo estoy probando tratando de generar un cgi
Que me falta poner si ya cargue todas estas librerías
O si me pueden poner un ejemplo?
<Libraries>
<Library Filename="[xailer]xailer" Link="N" First="Y"/>
<Library Filename="[xailer]xailertcls" Link="N"/>
<Library Filename="[xailer]samples" Link="N"/>
<Library Filename="[xailer]sqlite" Link="N"/>
<Library Filename="[xailer]mariadb"/>
<Library Filename="[xailer]mysql"/>
<Library Filename="[xailer]xailer.res" Link="N"/>
<Library Filename="[xailer]xailermsg.res" Link="N"/>
<Library Filename="[harbour]hbextern"/>
<Library Filename="[harbour]hbdebug"/>
<Library Filename="[harbour]hbvm"/>
<Library Filename="[harbour]hbvmmt"/>
<Library Filename="[harbour]hbrtl"/>
<Library Filename="[harbour]hblang"/>
<Library Filename="[harbour]hbcpage"/>
<Library Filename="[harbour]gtcgi"/>
<Library Filename="[harbour]hbuddall" Link="N"/>
<Library Filename="[harbour]hbrdd"/>
<Library Filename="[harbour]hbusrrdd" Link="N"/>
<Library Filename="[harbour]rddntx"/>
<Library Filename="[harbour]rddcdx"/>
<Library Filename="[harbour]rddnsx"/>
<Library Filename="[harbour]rddfpt"/>
<Library Filename="[harbour]rddads"/>
<Library Filename="[harbour]ace32" Link="N"/>
<Library Filename="[harbour]hbhsx"/>
<Library Filename="[harbour]hbsix"/>
<Library Filename="[harbour]hbmacro"/>
<Library Filename="[harbour]hbcplr"/>
<Library Filename="[harbour]hbpp"/>
<Library Filename="[harbour]hbcommon"/>
<Library Filename="[harbour]hbtip"/>
<Library Filename="[harbour]hbmxml"/>
<Library Filename="[harbour]mxml"/>
<Library Filename="[harbour]hbpcre"/>
<Library Filename="[harbour]hbwin"/>
<Library Filename="[harbour]hbmzip"/>
<Library Filename="[harbour]minizip"/>
<Library Filename="[harbour]hbzlib"/>
<Library Filename="[harbour]hbzebra"/>
<Library Filename="[harbour]xharbour"/>
<Library Filename="[mingw]crt2.o"/>
<Library Filename="[mingw]gcc\i686-w64-mingw32\7.3.0\crtbegin.o"/>
<Library Filename="[mingw]mingw32"/>
<Library Filename="[mingw]gcc\i686-w64-mingw32\7.3.0\gcc"/>
<Library Filename="[mingw]gcc\i686-w64-mingw32\7.3.0\gcc_eh"/>
<Library Filename="[mingw]moldname"/>
<Library Filename="[mingw]mingwex"/>
<Library Filename="[mingw]msvcrt"/>
<Library Filename="[mingw]kernel32"/>
<Library Filename="[mingw]user32"/>
<Library Filename="[mingw]gdi32"/>
<Library Filename="[mingw]advapi32"/>
<Library Filename="[mingw]ws2_32"/>
<Library Filename="[mingw]winspool"/>
<Library Filename="[mingw]comctl32"/>
<Library Filename="[mingw]comdlg32"/>
<Library Filename="[mingw]shell32"/>
<Library Filename="[mingw]uuid"/>
<Library Filename="[mingw]ole32"/>
<Library Filename="[mingw]oleaut32"/>
<Library Filename="[mingw]oledlg"/>
<Library Filename="[mingw]mpr"/>
<Library Filename="[mingw]winmm"/>
<Library Filename="[mingw]mapi32"/>
<Library Filename="[mingw]imm32"/>
<Library Filename="[mingw]msimg32"/>
<Library Filename="[mingw]odbc32"/>
<Library Filename="[mingw]wininet"/>
<Library Filename="[mingw]version"/>
<Library Filename="[mingw]setupapi"/>
<Library Filename="[mingw]iphlpapi"/>
<Library Filename="[mingw]psapi"/>
<Library Filename="[mingw]rpcrt4"/>
<Library Filename="[mingw]winhttp"/>
<Library Filename="[mingw]crypt32"/>
</Libraries>
Re: Usando Mariadb para un cgi
Publicado: Lun Jun 09, 2025 8:49 pm
por ignacio
Hola,
Lo más aconsejable es no utilizar ninguna librería de Xailer. Es decir, no incluir Xailer.lib, ni XailerTCls.lib y simplemente incluir CGILib.a y la librería de MariaDB.
Acabo de modificar el ejemplo de \samples\CGI\HelloWorld incluyendo CGILib y marcando MariaDB y enlaza correctamente.
Saludos

- Imagen 131.png (18.77 KiB) Visto 759 veces
Re: Usando Mariadb para un cgi
Publicado: Lun Jun 09, 2025 10:15 pm
por michaelp
Buenas Tardes ,
En mi versión no aparece la librería CGILib Estas son las unicas que tengo
En Xailer 922/lib
07/05/2025 09:43 59,522 libmariadb.a
10/12/2012 12:32 35,142 libmysql.a
03/07/2023 19:59 70,582 libSamples.a
30/05/2025 11:49 1,110,806 libSQLite.a
02/06/2025 11:38 5,701,850 libXailer.a
02/06/2025 11:32 109,904 libXailerDLL.a
02/06/2025 11:37 529,890 libXailerTCls.a
Quizas ese sea el problema
Gracias por tu atencion
Re: Usando Mariadb para un cgi
Publicado: Mar Jun 10, 2025 2:31 am
por michaelp
Descargue el ultimo publicado hasta hoy , y no aparece la librería CGILib
Por favor podrias habilitarla e indicar un link para descargarla?
Saludos
Michael Pavlich
Re: Usando Mariadb para un cgi
Publicado: Mar Jun 10, 2025 10:45 am
por ignacio
Buenos días,
Efectivamente faltan las librerías. Aquí le dejo un enlace a las mismas:
https://xailer.com/files/temp/cgiIlib.zip
Disculpe por el error.
Un saludo
Re: Usando Mariadb para un cgi
Publicado: Mar Jun 10, 2025 10:55 pm
por michaelp
Buenas Tardes ,
Mil Disculpas te antemano seria posible que pusieras un pequeño ejemplo con conexión a una base de datos local con un CGI?
No logro conectarme
Re: Usando Mariadb para un cgi
Publicado: Sab Jun 14, 2025 3:18 am
por michaelp
Disculpe que insista .
#define STDOUT 1
#xtranslate StdOut( <x> ) => FWrite( STDOUT, <x> )
ANNOUNCE HB_GtSys
REQUEST HB_GT_NUL
FUNCTION Main()
LOCAL cForm := GetCGIParam("form")
LOCAL cHtml := "",i,oConn
LOCAL cValor := GetCGIParam("campo")
LOCAL oCon, oRs, cSql, lOk := .F.
LOCAL oDS
//DATA oDS AS CLASS TMariaDBDatasource
StdOut( "Content-Type: text/html" + Chr(13) + Chr(10) + Chr(13) + Chr(10) )
cHtml += "<html><body style='font-family:Arial'>"
oDS := TMariadbDatasource():New()
oDS:cHost := localhost
oDS:cUser := 'root'
oDS:cPassword := '12345678'
oDS:cDatabase := 'calicienta'
oDS:nPort := 3306
oDS:ldisplayerrors:= .t.
IF oDS:Connect()
cHtml += "<p>? Conectado a MariaDB</p>"
ELSE
cHtml += "<p style='color:red;'>? Error al conectar con MariaDB</p>" Siempre tengo el error aqui
ENDIF
oDS:cDatabase := 'calicienta' MyISAM utf8_bin 33.8 KB -
Montado sobre un apache
Servidor: localhost via TCP/IP
Tipo de servidor: MySQL
Conexión del servidor: No se está utilizando SSL Documentación
Versión del servidor: 8.0.17 - MySQL Community Server - GPL
Versión del protocolo: 10
Usuario: root@localhost
Conjunto de caracteres del servidor: UTF-8 Unicode (utf8mb4)
Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.3.10
Versión del cliente de base de datos: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: 7cc7cc96e675f6d72e5cf0f267f48e167c2abb23 $
extensión PHP: mysqliDocumentación curlDocumentación mbstringDocumentación
Versión de PHP: 7.3.10
gracias
Re: Usando Mariadb para un cgi
Publicado: Dom Jun 15, 2025 4:18 pm
por ignacio
Hola,
1) Intente hacer un programa de escritorio que funcione sobre la misma máquina
2) Compruebe los mensajes de error de la conexión. Más información en la ayuda.
Saludos
Re: Usando Mariadb para un cgi
Publicado: Mar Jun 17, 2025 2:24 am
por michaelp
Solucionado :
Mi problema era que tenia registrado libmySQL.dll En mi Windows y eso creaba confictos , lo curioso es que en la aplicación de escritorio , funcionaba con algunos errores .
Quite libmySQL.dll del registro de Windows y se arreglo como arte de magia
Lo informo por si a alguien le pasa
Gracias