Página 1 de 1

Como compilar com Mysql da Contrib

Enviado: 10 Jul 2008 14:08
por hucf
Saudações a todos !
Pensando em migrar do DBFNTX para SQL ouvi dizer do acesso nativo no xharbour p/ Mysql então instalei o MYSQL 5.051a e comecei a fuçar o xharbour_0.99.70_contrib\Mysql.
Consegui criar o MYSQL.LIB com o MAKE_B32 e o LIBMYSQL.LIB com o IMPLIB.
O problema ocorre qdo rodo o HBMAKE para o TEST.PRG que acompanha a contrib ...

O arq. test.bc :
#BCC
VERSION=BCB.01
!ifndef CC_DIR
CC_DIR = $(MAKE_DIR)
!endif

!ifndef HB_DIR
HB_DIR = $(HARBOUR_DIR)
!endif

RECURSE= NO

SHELL =
COMPRESS = NO
EXTERNALLIB = YES
XFWH = NO
FILESTOADD = 5
WARNINGLEVEL = 0
USERDEFINE =
USERINCLUDE =
GUI = NO
MT = NO
SRC03 = obj
PROJECT = test.exe $(PR)
OBJFILES = $(SRC03)\TEST.obj $(OB)
PRGFILES = TEST.PRG $(PS)
OBJCFILES = $(OBC)
CFILES = $(CF)
RESFILES =
RESDEPEN =
TOPMODULE = TEST.PRG
LIBFILES = lang.lib vm.lib rtl.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib dbffpt.lib common.lib gtwin.lib codepage.lib ct.lib tip.lib pcrepos.lib hsx.lib hbsix.lib mysql.lib sqllib_xHB_09971.LIB libmysql.lib
EXTLIBFILES = mysql.lib sqllib_xHB_09971.LIB
DEFFILE =
HARBOURFLAGS = -w0
CFLAG1 = -OS $(SHELL) $(CFLAGS) -d -c -L$(HB_DIR)\lib
CFLAG2 = -I$(HB_DIR)\include;$(CC_DIR)\include
RFLAGS =
LFLAGS = -L$(CC_DIR)\lib\obj;$(CC_DIR)\lib;$(HB_DIR)\lib -Gn -M -m -s -Tpe -x -ap
IFLAGS =
LINKER = ilink32

ALLOBJ = c0x32.obj $(OBJFILES) $(OBJCFILES)
ALLRES = $(RESDEPEN)
ALLLIB = $(LIBFILES) import32.lib cw32.lib
.autodepend

#DEPENDS

#COMMANDS
.cpp.obj:
$(CC_DIR)\BIN\bcc32 $(CFLAG1) $(CFLAG2) -o$* $**

.c.obj:
$(CC_DIR)\BIN\bcc32 -I$(HB_DIR)\include $(CFLAG1) $(CFLAG2) -o$* $**

.prg.obj:
$(HB_DIR)\bin\harbour -D__EXPORT__ -n -go -I$(HB_DIR)\include $(HARBOURFLAGS) -o$* $**

.rc.res:
$(CC_DIR)\BIN\brcc32 $(RFLAGS) $<

#BUILD

$(PROJECT): $(CFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(CC_DIR)\BIN\$(LINKER) @&&!
$(LFLAGS) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!


O arq.log :

C:\BORLAND\BCC55\BIN\ilink32 @makefile.lnk
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Error processing module

O makefile.lnk :

-LC:\BORLAND\BCC55\lib\obj;C:\BORLAND\BCC55\lib;C:\XHARBOUR\lib -Gn -M -m -s -Tpe -x -ap +
c0x32.obj obj\TEST.obj, +
test.exe,, +
lang.lib vm.lib rtl.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib dbffpt.lib common.lib gtwin.lib codepage.lib ct.lib tip.lib pcrepos.lib hsx.lib hbsix.lib mysql.lib sqllib_xHB_09971.LIB libmysql.lib import32.lib cw32.lib, +
, +

Será que alguem poderia esclarecer o que está errado ?

Obrigado,
Hu

Re: Como Baixar as CVS e Como Compilar as Fontes do xharbour

Enviado: 11 Jul 2008 12:43
por sygecom
Veja que vc esta usando "sqllib_xHB_09971.LIB" mais as lib da CONTRIB ou seja ou vc usa uma ou outra, agora se essa sua SQLLIB for a versão comercial, sem duvida seria melhor vc usar ela por poder usar comandos xBase em SQL. Agora se for a versão free da SQLLIB já testei e funciona tmb. porem segundo já foi postado aqui no forum a versão free não tem acesso para criação de indices. Resumindo se for usar a SQLLIB, seria melhor entrar em contato com o Vailton e esclarecer melhor suas duvidas, e já vi tmb. no proprio Site da SQLLIB um Manual On-line que vai lhe ajudar e muito.

Agora se sua opção for pela MYSQL da contrib, faça o teste removendo apenas a SQLLIB da lista de LIB do seu script.

Re: Como compilar com Mysql da Contrib

Enviado: 11 Jul 2008 16:02
por hucf
Tudo bem Leonardo ?
É realmente vc tem razão , troquei para xharbour_0.99-70_contrib\Mysql e consegui gerar o MYSQL.LIB , depois
gerei o executável com o test.prg que acompanha a contrib e consegui conectar ao DB do MYSQL server só que neste ponto caiu a ficha : tudo bem está conectado , mas como selecionar e manipular uma tabela ? Fiz um teste com USE tab ALIAS alia VIA MYSQL que deu erro então não querendo abusar solicito uma orientação.

Obrigado,
Hu

Re: Como compilar com Mysql da Contrib

Enviado: 11 Jul 2008 19:19
por sygecom
hucf escreveu:Tudo bem Leonardo ?
É realmente vc tem razão , troquei para xharbour_0.99-70_contrib\Mysql e consegui gerar o MYSQL.LIB , depois
gerei o executável com o test.prg que acompanha a contrib e consegui conectar ao DB do MYSQL server só que neste ponto caiu a ficha : tudo bem está conectado , mas como selecionar e manipular uma tabela ? Fiz um teste com USE tab ALIAS alia VIA MYSQL que deu erro então não querendo abusar solicito uma orientação.

Obrigado,
Hu
Tudo otimo,
Veja bem, se vc quer usar o Mysql da Contrib então deve usar comandos e funções da classe Tmysql.
Ex:
Para selecionar o Banco de dados:
oServer:SelectDB("dados")

Para abarir uma tabela:
oQuery:=oServer:Query("select * from pedidos")
if oQuery:neterr()
MSGINFO("Não Achou a Tabela PEDIDOS")
USE TEMP.DBF EXCL
aDbfStruct := TEMP->(dbStruct()) // pega a estrutura de um DBF
oServer:CreateTable('pedidos', aDbfStruct)
SELE TEMP // fecha o DBF
USE
oQuery:=oServer:Query("select * from pedidos")
endif
e etc...
Atraves de Query() se faz até milagres !!! coisa que até o padre quevedo duvida !!!
Agora se for usar a SQLLIB ai sim vc usa comandos do xbase, como USE,DBSEEK,LOCATE ETC....

Re: Como compilar com Mysql da Contrib

Enviado: 11 Jul 2008 20:40
por hucf
Oi Leonardo , agradeço as orientações , como estou começando com o XHARBOUR ainda dou muitas cabeçadas , mas agora com um caminho a seguir vou mergulhar no assunto.
Conforme for avançando vou postar os resultados.

Mais uma vez obrigado ,
Hu

Re: Como compilar com Mysql da Contrib

Enviado: 17 Jul 2008 12:38
por hucf
Tudo bem ?
Consegui conexão com o MYSQL e até fiz um teste com TSQLBRW que é a def. da classe TBROWSE para SQL.
Estou tentando agora ajustar a minha LIB do TBROWSE para o padrão SQL.
Como era apenas usuário e não programava com o conceito de CLASSES estou apanhando para entender a sintaxe de CLASSES do TSQLBRW.PRG.
Será que vc poderia esclarecer ou indicar um caminho para entender por ex. :

MESSAGE Block METHOD BLOCK() , o que faz MESSAGE ?

::obr , ::ocurRow , o que significa ?

Tem documentação para isso ?

Abraço
Hu

Re: Como compilar com Mysql da Contrib

Enviado: 17 Jul 2008 19:32
por sygecom
hucf escreveu: Será que vc poderia esclarecer ou indicar um caminho para entender por ex. :
MESSAGE Block METHOD BLOCK() , o que faz MESSAGE ?
::obr , ::ocurRow , o que significa ?
Tem documentação para isso ?
Infelizmente documentação não tem, mas nada melhor que os proprios fontes da LIB para entender ela, e em anexo segue mais um readme.txt que esta na pasta contrib\mysql e abaixo um link que pode ajudar vc a entender melhor o TbrowseSql.
http://culikr.sites.uol.com.br/howmysql.htm#ABRINDO

Re: Como compilar com Mysql da Contrib

Enviado: 18 Jul 2008 09:28
por hucf
Saudações Leonardo , o link que vc indicou é muito bom !
Vou mergulhar no assunto , retorno qdo tiver novidades.

Obrigado,
Hu