SQLLIB X Conexão nativa mysq (minigui)

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

allan_de_sa
Usuário Nível 1
Usuário Nível 1
Mensagens: 13
Registrado em: 24 Mai 2011 20:23
Localização: SAO PAULO

SQLLIB X Conexão nativa mysq (minigui)

Mensagem por allan_de_sa »

Tenho um sistema de vendas compilado com xharbour 121 e minigui extended build 77 com acesso a dados mysql através da sqllib rdd do Vailton, a rdd funciona “bacaninha”, o problema é que fico limitado ao xharbour 121 e consequentemente a minigui extended 77, gostaria de saber dos colegas se há a possibilidade de eu fazer essa migração aos poucos, no inicio do meu sistema eu fazer a conexão com o banco de dados mysql dos dois jeitos, via rdd e via nativo, dessa forma vou migrando as rotinas aos poucos.

Obrigado.

Allan
allan_de_sa
Usuário Nível 1
Usuário Nível 1
Mensagens: 13
Registrado em: 24 Mai 2011 20:23
Localização: SAO PAULO

SQLLIB X Conexão nativa mysq (minigui)

Mensagem por allan_de_sa »

Explicando melhor,

A idéia aparentemente é boa, mas na prática ainda não deu muito certo. Segue os passos que eu segui:

O meu sistema está em xharbour 121 devido a sqllib como disse anteriormente, então eu baixei a pasta contrib do CVS e compilei a lib mysql.lib, peguei um exemplo da pasta SAMPLES e fiz a comunicação com mysql tranquilo, testei todas as funcionalidades, tudo ok. Eu gero meus executáveis através da XDevStudio, então nas configurações do meu projeto eu setei RDD SQL LIB = SIM e LINKAR MYSQL.lib = SIM, até aí tudo bem, o sistema exemplo continua compilando e se conectando ao mysql atráves das funções da mysql.lib.
Quando inclui no meu projeto no menu principal funcionalidades para conexão com mysql via sqllib também, como abaixo, surgiram os problemas :

Código: Selecionar todos

#include "minigui.ch"
#include "sqllib.ch"
 
REQUEST SQLLIB
REQUEST MYSQL
 
*------------------------------------------------------------------------------*
Function Main
*------------------------------------------------------------------------------*
 
Private oServer    := Nil 
    
    DEFINE WINDOW Win_1 ;
        AT 0,0 ;
        WIDTH 400 ;
        HEIGHT 400 ;
        TITLE 'MySql Basic Sample' ;
        MAIN ;
        ON INIT Connect() 
 
    END WINDOW
 
    Win_1.Center
 
    ACTIVATE WINDOW Win_1
 
Return
 
*------------------------------------------------------------------------------*
Procedure Connect
*------------------------------------------------------------------------------*
 
    // Connect
 
    SQL CONNECT on 'localhost'; 
             DATABASE 'namebook' ;
             USER 'root';
             PASSWORD 'softtec';
             OPTIONS SQL_NO_WARNING ;
             LIB 'mysql'
 
if SQLErrorNO()> 0
   msgstop("Não foi possivel conectar ao banco de dados !")
   Win_1.Title := 'MySql Basic Sample - Not Connected' 
endif
 
RddSetDefault("MYSQL") 
    
    
    oServer := TMySQLServer():New("localhost", "root", "softtec")
 
    // Check For Error
 
    If oServer:NetErr()
        MsgStop(oServer:Error())
        Win_1.Title := 'MySql Basic Sample - Not Connected' 
    Else
 
        MsgInfo("Connected")
        Win_1.Title := 'MySql Basic Sample - Connected' 
 
    EndIf
 
Return


O sistema compila normalmente se conecta no banco mysql via sqllib, mas não se conecta via mysql.lib (nativamente). Será que algum dos colegas já passou por isso e conseguiu contornar essa situação ?

Abraços

Allan – :D
Responder