Page 1 of 1

MySQL desde Linux

Posted: Mon Dec 14, 2009 9:34 am
by softruz
Muy buenas, ya he conseguido MySQL desde linux yo he usado openSuse v.11.1 y v.11.2, si alguien quiere configurarlo y el código fuente, que me comunique.

Un Saludo.

Re: MySQL desde Linux

Posted: Mon Dec 14, 2009 9:31 pm
by Antonio Linares
Juan,

Te agradecemos cualquier ejemplo y explicaciones que quieras proporcionarnos a todos aqui en el foro, gracias :-)

Re: MySQL desde Linux

Posted: Wed Dec 16, 2009 8:33 am
by softruz
Muy buenas, aunque yo estoy utilizando la distrubicion openSuse 11.2 se podría hacer con cualquiera, lo que debemos que hacer es instalar los paquetes necesarios, yo utilizo el yast2 ,
1º Los paquetes son:

libmysqlclient-devel
libmysqlclient16
mysql
mysql-gui-tools

2º Antetodo, yo he utilizado la carpeta samples para construir el ejemplo. Para la configuracion del buildx.sh sería esta para openSuse 11.2 (Según la distribución o version de ella puede cambiar la configuración), si teneis una distribución o versión diferente tenéis que utilizar:

mysql_config --libs // Para enlazar las librerías
mysql_config --cflags // Para enlazar los includes

así quedaría:
INCLUDES
-I/usr/include/mysql -fomit-frame-pointer -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing -DUNIV_LINUX

LIBRERÍA
-L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -L/usr/lib64 -lssl -lcrypto

3º El código es el siguiente:

#include "FiveLinux.ch"

function Main()

local oDlg

DEFINE DIALOG oDlg TITLE "Testing popup menus"

@ 2, 2 SAY "right click" OF oDlg

ACTIVATE DIALOG oDlg CENTERED ;
VALID MsgYesNo( "Want to end ?" ) ;
ON RIGHT CLICK ShowPopup( oDlg )

return nil

function ShowPopup( oDlg )

local oPopup

MENU oPopup POPUP
MENUITEM "One" RESOURCE "gtk-new" ACTION MySQL_CONNECT()
MENUITEM "Two" RESOURCE "gtk-save" ACTION MsgInfo( "save" )
MENUITEM "Three" RESOURCE "gtk-quit" ACTION MsgInfo( "quit" )
ENDMENU

ACTIVATE POPUP oPopup OF oDlg

return nil

#pragma BEGINDUMP


#include <hbapi.h>
#include <mysql.h>

HB_FUNC( MYSQL_CONNECT )
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;

char *server = "192.168.0.254";
char *user = "root";
char *password = "cdi";
char *database = "cdibussev";

conn = mysql_init(NULL);

/* Connect to database */
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}

/* send SQL query */
if (mysql_query(conn, "show tables"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}

res = mysql_use_result(conn);

/* output table name */
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);

/* close connection */
mysql_free_result(res);
mysql_close(conn);
}

#pragma ENDDUMP

Si tenéis alguna duda no dudeis en postearla.

Un Saludo.

Re: MySQL desde Linux

Posted: Wed Dec 16, 2009 9:03 am
by Antonio Linares
Juan,

Gracias! :-)

Re: MySQL desde Linux

Posted: Thu Feb 17, 2011 6:53 pm
by ruben Dario
softruz wrote:Muy buenas, aunque yo estoy utilizando la distrubicion openSuse 11.2 se podría hacer con cualquiera, lo que debemos que hacer es instalar los paquetes necesarios, yo utilizo el yast2 ,
1º Los paquetes son:

libmysqlclient-devel
libmysqlclient16
mysql
mysql-gui-tools

2º Antetodo, yo he utilizado la carpeta samples para construir el ejemplo. Para la configuracion del buildx.sh sería esta para openSuse 11.2 (Según la distribución o version de ella puede cambiar la configuración), si teneis una distribución o versión diferente tenéis que utilizar:

mysql_config --libs // Para enlazar las librerías
mysql_config --cflags // Para enlazar los includes

así quedaría:
INCLUDES
-I/usr/include/mysql -fomit-frame-pointer -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -fno-strict-aliasing -DUNIV_LINUX

LIBRERÍA
-L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -L/usr/lib64 -lssl -lcrypto

3º El código es el siguiente:

#include "FiveLinux.ch"

function Main()

local oDlg

DEFINE DIALOG oDlg TITLE "Testing popup menus"

@ 2, 2 SAY "right click" OF oDlg

ACTIVATE DIALOG oDlg CENTERED ;
VALID MsgYesNo( "Want to end ?" ) ;
ON RIGHT CLICK ShowPopup( oDlg )

return nil

function ShowPopup( oDlg )

local oPopup

MENU oPopup POPUP
MENUITEM "One" RESOURCE "gtk-new" ACTION MySQL_CONNECT()
MENUITEM "Two" RESOURCE "gtk-save" ACTION MsgInfo( "save" )
MENUITEM "Three" RESOURCE "gtk-quit" ACTION MsgInfo( "quit" )
ENDMENU

ACTIVATE POPUP oPopup OF oDlg

return nil

#pragma BEGINDUMP


#include <hbapi.h>
#include <mysql.h>

HB_FUNC( MYSQL_CONNECT )
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;

char *server = "192.168.0.254";
char *user = "root";
char *password = "cdi";
char *database = "cdibussev";

conn = mysql_init(NULL);

/* Connect to database */
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}

/* send SQL query */
if (mysql_query(conn, "show tables"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}

res = mysql_use_result(conn);

/* output table name */
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);

/* close connection */
mysql_free_result(res);
mysql_close(conn);
}

#pragma ENDDUMP

Si tenéis alguna duda no dudeis en postearla.

Un Saludo.

Prueba MySQL desde Linux me falta mysql.h

Posted: Fri Feb 18, 2011 1:03 pm
by ruben Dario
Estoy haciendo la prueba y me falta #include <mysql.h>

Anexo codigo que me facilitaron en el forum

Code: Select all


#include "FiveLinux.ch"

function Main()

local oDlg

DEFINE DIALOG oDlg TITLE "Testing popup menus"

@ 2, 2 SAY "right click" OF oDlg

ACTIVATE DIALOG oDlg CENTERED ;
VALID MsgYesNo( "Want to end ?" ) ;
ON RIGHT CLICK ShowPopup( oDlg )

return nil

function ShowPopup( oDlg )

local oPopup

MENU oPopup POPUP
MENUITEM "One" RESOURCE "gtk-new" ACTION MySQL_CONNECT()
MENUITEM "Two" RESOURCE "gtk-save" ACTION MsgInfo( "save" )
MENUITEM "Three" RESOURCE "gtk-quit" ACTION MsgInfo( "quit" )
ENDMENU

ACTIVATE POPUP oPopup OF oDlg

return nil

#pragma BEGINDUMP


#include <hbapi.h>
#include <mysql.h>

HB_FUNC( MYSQL_CONNECT ) 
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;

char *server = "192.168.0.254";
char *user = "root";
char *password = "cdi";
char *database = "cdibussev";

conn = mysql_init(NULL);

/* Connect to database */
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) 
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}

/* send SQL query */
if (mysql_query(conn, "show tables")) 
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}

res = mysql_use_result(conn);

/* output table name */
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);

/* close connection */
mysql_free_result(res);
mysql_close(conn);
}

#pragma ENDDUMP



 
Seria posible me puedes facilitar el buildx.sh para ver el codigo.
Gracias

Re: MySQL desde Linux

Posted: Fri Feb 18, 2011 1:37 pm
by Daniel Garcia-Gil
Ruben

Enconstraste algun problema con dolphin?

te ahorrarias mucho trabajo, pues de la forma como lo estas haciendo haras todo el proceso "a mano"
aqui en el foro puedes hacer tus preguntas sobre dolphin sin problema alguno,
no hay documentacion de la clase como tal, pues no he tenido tiempo de hacerla, pero los metodos estan bien descritos, viendo un poco la clase los ejemplos, seguro la curva de aprendizaje sera bastante rapida

http://forums.fivetechsupport.com/viewt ... 41#p110841

Re: MySQL desde Linux

Posted: Fri Feb 18, 2011 10:32 pm
by ruben Dario
Daniel Garcia-Gil wrote:Ruben

Enconstraste algun problema con dolphin?

te ahorrarias mucho trabajo, pues de la forma como lo estas haciendo haras todo el proceso "a mano"
aqui en el foro puedes hacer tus preguntas sobre dolphin sin problema alguno,
no hay documentacion de la clase como tal, pues no he tenido tiempo de hacerla, pero los metodos estan bien descritos, viendo un poco la clase los ejemplos, seguro la curva de aprendizaje sera bastante rapida

http://forums.fivetechsupport.com/viewt ... 41#p110841

Daniel.
Voy a hacer la prueba este fin de semana, y te comento el lunes.
Te pregunto el dolphin solo funciona para linux.

Gracias, Que tengas un buen fin de semana

Re: MySQL desde Linux

Posted: Fri Feb 18, 2011 10:43 pm
by Daniel Garcia-Gil
Ruben

Funciona para linux, window 32 y 64, Mac (OSX)

Re: MySQL desde Linux

Posted: Mon Feb 21, 2011 9:38 pm
by ruben Dario
Daniel Garcia-Gil wrote:Ruben

Funciona para linux, window 32 y 64, Mac (OSX)
Saludos
Daniel, he tenido problema en crear la libreria.
Estoy hacieno la prueba con windows para despues pasar a linux.

Ejecuto el archivo mtdolpx.bat
Pero genera error , segun parece como esta encadenando la libreria libmysql.lib , creo que es esto.
///

Code: Select all

mtdolpx.bat

K:\bcc582\bin\make -ftdolp.mak HPATH=\XHARBOUR BCCPATH=\BCC582 LIBNAME=dolphinx OBJS=objx HARBOUR=__XHARBOUR__

el tdolp.mak

OBJPRG  = .\$(OBJS)
OBJC    = .\objc 
INCLUDE = .\include
LIBNAME = $(LIBNAME)

.path.PRG = .\source\prg
.path.OBJ = $(OBJPRG)
.path.CH  = $(INCLUDE)
.path.C   = .\source\c
.path.LIB = .\lib

PRG =        \
TDOLPSRV.PRG \
TDOLPQRY.PRG

C =                   \
FUNCTION.C               

PROJECT    : $(LIBNAME).lib 

$(LIBNAME).lib   : $(PRG:.PRG=.OBJ) $(C:.C=.OBJ)

.PRG.OBJ:
   $(HPATH)\bin\harbour $<  /N /W /w /es2 /O$(OBJPRG)\ /I$(INCLUDE);$(HPATH)\include;$(USERINC) > comp.log
   $(BCCPATH)\bin\bcc32  -c -tWM -I$(HPATH)\include -o$(OBJPRG)\$& $(OBJPRG)\$&.c
   $(BCCPATH)\bin\TLib .\lib\$(LIBNAME).lib -+$(OBJPRG)\$&.obj /0 /P32,,

.C.OBJ:
  echo -c -tWM -D$(HARBOUR) > tmp
  echo -I$(HPATH)\include;$(INCLUDE);$(USERINC) >> tmp
   $(BCCPATH)\bin\bcc32 -o$(OBJC)\$& @tmp $<
   $(BCCPATH)\bin\TLib .\lib\$(LIBNAME).lib -+$(OBJC)\$&.obj /0 /P32,,


Error Que Genera

xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6741)
Copyright 1999-2010, http://www.xharbour.org http://www.harbour-project.org/
Compiling '.\source\prg\TDOLPSRV.PRG'...


.\source\prg\TDOLPSRV.PRG(465) Warning W0001  Ambiguous reference: 'ERR_CANNOTCREATEBKFILE'

.\source\prg\TDOLPSRV.PRG(480) Warning W0001  Ambiguous reference: 'ERR_OPENBACKUPFILE'


.\source\prg\TDOLPSRV.PRG(566) Warning W0001  Ambiguous reference: 'ST_FILLBACKUP'


.\source\prg\TDOLPSRV.PRG(607) Warning W0001  Ambiguous reference: 'ST_FILLBACKUP'

.\source\prg\TDOLPSRV.PRG(661) Warning W0001  Ambiguous reference: 'ERR_INSUFFICIENT_MEMORY'

.\source\prg\TDOLPSRV.PRG(677) Warning W0001  Ambiguous reference: 'CR_SERVER_GONE_ERROR'


.\source\prg\TDOLPSRV.PRG(1412) Warning W0001  Ambiguous reference: 'ERR_INVALIDQUERYARRAY'

.\source\prg\TDOLPSRV.PRG(1450) Warning W0001  Ambiguous reference: 'ERR_MULTIQUERYFAULIRE'


.\source\prg\TDOLPSRV.PRG(1709) Warning W0001  Ambiguous reference: 'ERR_TABLENOEXIST'

.\source\prg\TDOLPSRV.PRG(1735) Warning W0001  Ambiguous reference: 'MAX_BLOCKSIZE'


.\source\prg\TDOLPSRV.PRG(2276) Warning W0001  Ambiguous reference: 'ERR_INVALIDHOSTSELECTION'


.\source\prg\TDOLPSRV.PRG(2319) Warning W0001  Ambiguous reference: 'ERR_INVALIDHOSTSELECTION'


0 error

No code generated
 

Code: Select all

Si lo hafgo con verce pasa esto.
[url]http://img253.imageshack.us/i/erorconvervce.jpg/[/url]

 

Re: MySQL desde Linux

Posted: Mon Feb 21, 2011 11:46 pm
by Daniel Garcia-Gil
Ruben

estan mal direccionados los path de los includes...

TDolphin te ofrece los script para construir la libreria...

usa los setenv*.bat