Página 1 de 2
MySQL com lib nativa xharbour(contrib). Alguém utiliza no L?
Enviado: 27 Set 2006 14:44
por náufel
Alguém utiliza a lib nativa para MySQL encontrada no contrib do xharbour, no Linux ?
Tenho experiência em Linux, MySQL e xBase.
Uso o FlagShip, sem problemas.
Estou testando o xharbour mas ainda não saí do outro lado com o MySQL.
Preciso de ajuda para compilar e linkar a lib nativa.
Obrigado.
Fernando
Enviado: 27 Set 2006 15:16
por momente
Reforço a dúvida do amigo,
não consegui gerar a lib nativa do xharbour com mysql
:?
Enviado: 28 Mai 2007 22:45
por sygecom
Dei o ponta pé inicial no uso da MYSQL da CONTRIB......não esta facil..mas pra quem quiser colaborar e dar umas dicas....sinta-se a vontade....
Abraços
Leonardo Machado
Enviado: 29 Mai 2007 06:15
por vailton
Exatamente quais sao os problemas encontrados?
Enviado: 29 Mai 2007 12:18
por MARCELOG
Baixe a versão do mysql com a qual pretende trabalhar.
Faça a instalação da mesma de forma completa, isso vai criar a pasta include, que contém os arquivos com extensão .h .
Depois, baixe o pacote de contribuição do xharbour que contém a pasta e arquvos para gerar a mysqllib.lib.
Copie todos os arquivos com extensão .h da pasta include do mysql instalado, para a pasta da contrib do mysql.
Execute o arquivo make_b32.bat .
Se tudo está certo, a lib será gerada.
Depois, copie a libmysql.dll que está na pasta include (ou bin) da instalação do mysql para a pasta da contrib do mysql.
Execute implib libmysql.dll libmysql.lib
Pronto.
Posso ter informado algo errado, por via das dúvidas, consulte o arquivo readme na pasta da contrib do mysql.
Tá em inglês, mas dá prá entender tranquilo.
MarceloG
Enviado: 29 Mai 2007 15:59
por alaminojunior
Já havia feito exatamente como o amigo MarceloG mencionou agora, porém ao iniciar o aplicativo, ao tentar abrir uma tabela, o Windows retornava um erro. "´aplicativo´ gerou um erro e precisa ser fechado..."
Só consegui acesso as tabelas do MySql usando o Mediator.
Finalizando, com a lib nativa do contrib não deu.
Caso alguem tenha alguma ideia ?
Enviado: 29 Mai 2007 17:22
por MARCELOG
A lib foi gerada sem problema?
Você linkou a mesma ao seu aplicativo?
Experimente colocar a libmysql.dll no mesmo diretório em que está o seu aplicativo.
Outra coisa, lib compilada com uma versão do mysql não funciona com o mysql de outtra versão.
Por favor, retorne.
MarceloG
Ps: em linux eu não sei como funciona. As dicas acima referem-se ao windows. Mas acho que só vai mudar o compilador C.
Enviado: 29 Mai 2007 20:00
por RamonXHB
Como vc está abrindo as tabelas

Enviado: 30 Mai 2007 08:28
por MARCELOG
No MySql, você não abre as tabelas, simplesmente as usa.
Você faz a conexão com o banco de dados através de um usuário válido com acesso ao mesmo (banco de dados).
A instalação padrão cria o usuário "root", com acesso local ("localhost") a todos os bancos de dados, ou seja, ele tem acesso a quaisquer bancos de dados existentes e criados pelos MySql, contudo só através da máquina onde o MySql está instalado.
Normalmente, até por questão de segurança, na instalação é solicitada uma senha de acesso para esse usuário "root".
Então, se a lib foi corretamente gerada as instrução abaixo tem que funcionar, no mínimo, localmente.
...
oConexao := TMYSQLSERVER():NEW("localhost","root",suasenhadomysql)
if oConexao:NETERR()
alert("Faiou! Fazer o quê né!")
return
endif
// vamos descrever a estrutura da tabela user do banco de dados de nome "mysql", que é padrão.
oQuery:=oConexao:QUERY("describe mysql.user")
if oQuery:NETERR()
alert("Faiou! Fazer o quê né!")
return
endif
? "Estrutura da tabela USER do mysql"
for i:=1 to oQuery:LASTREC()
oRow:=oQuery:GETROW(i)
? oRow:FIELDGET(1)+" "+oRow:FIELDGET(2)
next i
MarceloG
Enviado: 30 Mai 2007 08:32
por MARCELOG
Desculpe Ramon, respondi sua indagação achando que era do autor do post.
MarceloG
Enviado: 30 Mai 2007 14:04
por sygecom
Gente Obrigado a Todos....que nem diria o JACK vamos por parte:
vailton:
Exatamente quais sao os problemas encontrados?
É o seguinte primeiro devo agradecer em especial a vossa senhoria por toda sua atenção em relação ao SQLLIB ...Bom, eu tenho um cliente que tem um sistema ON-LINE de pedidos...toh fazendo a seguinte situação abaixo pela CLASSE TMYSQL:
Código: Selecionar todos
FUNC BAIXAPED
local oQuery
local oServer
local oRow
oServer := TMySQLServer():New("localhost","root","123456")
if oServer:NetErr()
MSGINFO("Por Favor Verifique sua Conexão com a Internet")
return
else
oServer:SelectDB("dados")
if oServer:NetErr()
MSGINFO("Não achou a base de DADOS On-line")
return
endif
endif
oQuery:=oServer:Query("select * from pedidos") //
if oQuery:neterr()
MSGINFO("Não acgou o banco PEDIDOS")
USE TEMP.DBF EXCL
aDbfStruct := TEMP->(dbStruct())
oServer:CreateTable('pedidos', aDbfStruct) // cria se acaso não acha
SELE TEMP
USE
endif
USE TEMP.DBF EXCL
ZAP
for i:=1 to oQuery:lastrec()
vNUM=0
oRow:=oQuery:getrow(i)
dbappend()
for e:=1 to 78
vNUM=vNUM+1
fieldput(vNUM,oRow:fieldget(vNUM))
next e
dbcommit()
next i
// antes de eu seguir tenho apagar todos os registros por ex: ZAP...e não sei fazer isso
oQuery:Destroy()
oServer:Destroy()
DBCLOSEALL()
SELE 1
USE TEMP ALIAS TEMP EXCL
.......daqui que pra frente é como tirar doce de criança.....heheh
Obs: Jah toh gerando minha LIB da CONTRIB perfeitamente.....toh compilando a LIB com a ultima versão do MYSQL e toh usando o MYSQL 4.0.20a...que é uma versão não instalavel...e funciona que é uma beleza...
Marcelo:
A lib foi gerada sem problema?
SIM
Você linkou a mesma ao seu aplicativo?
SIM
Experimente colocar a libmysql.dll no mesmo diretório em que está o seu aplicativo.
Jah estou usando assim.
Outra coisa, lib compilada com uma versão do mysql não funciona com o mysql de outtra versão.
Tche, desculpa mas descordo de vc.....toh compilando com a versão 5.0.37 e usando o MYSQL 4.0.20a....
Ps: em linux eu não sei como funciona. As dicas acima referem-se ao windows. Mas acho que só vai mudar o compilador C.
Toh fazendo tudo no windows tb.
Obs: fiz uns teste com o Mediator me pareceu mais devagar que a lib da contrib ....e outro detalhe...tem que deixar o tal SERVER do Mediator ativo para poder usar o mesmo....quando for algo de uso do MYSQL local não tem problema...mas como meu casso vai ser ON-LINE....ai como vou dizer pro PROVEDOR rodar o SERVER do Mediator lah ? ai ruim neh...
Tudo que for dica é bem vinda
Abraços
Leonardo Machado
Enviado: 08 Jun 2007 15:57
por enfosoft
Consegui compilar a lib, mas na hora de lincar com o meu prgs esta aparecendo esta mensagem.
/usr/lib/gcc/i586-suse-linux/4.1.0/../../../../i586-suse-linux/bin/ld: cannot find -lmysqlclient
Eu não tenho o mysql instalado nesta maquina linux. Me parece ser problema de path. Mas Não sei como corrigir isso.
Enviado: 08 Jun 2007 16:03
por sygecom
Eu não tenho o mysql instalado nesta maquina linux. Me parece ser problema de path. Mas Não sei como corrigir isso.
Tche, eu não uso Linux......mas para vc poder usar o MYSQL local...tem que ter ele instalado...
Vc jah usa o MYSQL com Windows ?
Abraços
Leonardo Machado
Enviado: 08 Jun 2007 17:41
por enfosoft
Estou usando uma versao antiga. ainda quando vinha compilado acho q a versao 0.99.0 Funciona legal.
Enviado: 08 Jun 2007 17:55
por sygecom
Tche, Atualiza a CONTRIB e compila....que não tem erro....pelo menos aqui....como eu disse eu uso o MYSQL da contrib no windows e toh usando a versão 5.037 do MYSQL.....outra coisa até onde eu sei vc não pode usar uma LIB de versão diferente no xharbour...
Abraços
Leonardo Machado