VFP - Firebird conexion

183 views
Skip to first unread message

Jorge Lozano Manifacio

unread,
Jan 16, 2020, 1:14:18 PM1/16/20
to Comunidad de Visual Foxpro en Español
Hola comunidad, excelente codigo para todos ... Que este 2020 sus codigos sean excepcionales y todas las bendiciones para su persona y sus familias ...

Tengo un problema que por mas que reviso y reviso, no le encuentro la falla ... lo hago en la ventana de comandos, y ahi si funciona perfecto, pero al momento de hacerlo ejecutable nomas no .. aqui les comparto la conexion que estoy realizando

xuname = _screen.oprincipal.oconfig.admin_name
xupass = _screen.oprincipal.oconfig.admin_pass
xfdata = "C:\Mercado Libre\system\datamaster.fdb"
xcon = _screen.oprincipal.oconfig.conectar_bd(xuname,xupass,xfdata)

* Esta funcion la tengo dentro de una clase ... Metodo : conectar_bd
LPARAMETERS xusername, xuserpass, xdatafolder
LOCAL xconexion, xerrorodbc

#DEFINE ENTER CHR(13)

cdriver = "DRIVER={Firebird/Interbase(r) driver}; "
cusername = "USER=" + xusername + "; "
cuserpass = "PASSWORD=" + xuserpass + "; "
cdatabase = "DATABASE=" + xdatafolder

xconexion = cdriver+cusername+cuserpass+cdatabase

MESSAGEBOX(xconexion,0+64,"Conexion")           <--- Al hacerlo en ventana de comandos sale todo bien ... cdriver+cusername+cuserpass+cdatabase
                                                                                          Pero al hacer ejecutable solo llega hasta cuserpass .... y tira el error de que no encuentra la base de datos
                                                                                    
this.nhandle = SQLSTRINGCONNECT(xconexion)

IF this.nhandle > 0
WAIT WINDOW "Conexion a la base de datos satisfactoria" &&TIMEOUT .5
ELSE
xerrorodbc = this.obtener_error_odbc()
MESSAGEBOX("No se logro la conexion con la base de datos" + IIF(!EMPTY(xerrorodbc), CHR(13)+CHR(13)+xerrorodbc, ""),0+16,"Mensaje del sistema")
ENDIF

RETURN (this.nhandle > 0)

Antonio Meza

unread,
Jan 16, 2020, 4:54:43 PM1/16/20
to Comunidad de Visual Foxpro en Español
No veo que indiques el servidor (la ip) en la cadena de conexión???

Te recomiendo usar FoxyDb te evitas muchos detalles, e incluso lo puedes probar de igual forma en la ventana de comandos de VFP, 
https://foxydb.wordpress.com/

https://foxydb.wordpress.com/iniciando/guia-rapida-conexion/

La guía es para Mysql / MariaDb, solo tienes que cambiar unas propiedades para usar FireBird


4.- Definir propiedades de Conexión al Servidor de Base de Datos

odb.engine = odb.fireBird
odb.handle_driver = odb.driver_FireBird 
odb.handle_server = “localhost”
odb.handle_user = “usuario”
odb.handle_password = “contraseña”
odb.handle_database = “C:\Mercado Libre\system\datamaster.fdb
odb.handle_port = odb.port_FireBird

saludos
Antonio Meza

Jorge Lozano Manifacio

unread,
Jan 16, 2020, 6:26:11 PM1/16/20
to Comunidad de Visual Foxpro en Español
Antonio, gracias por responder .. ya utilice la clase Foxydb ... y genial, solo tengo otro problema ... va para los expertos en Firebird .... resulta que tengo instalado un ERP llamado Microsip instalado en version Firebird 2.5 ... no nos han actualizado a la version 3 ... pero mi aplicacion la quiero en version 3 .. segun ya hice el procedimiento pra poder tener las 2 instancias instaladas la 2.5 y 3.0 .. pero al momento de abrir la base de datos me dice que es una version mas nueva "12.0" y se esperaba la version "11.2"  (Algo asi pone) ...

mapner

unread,
Jan 17, 2020, 12:54:42 PM1/17/20
to Comunidad de Visual Foxpro en Español
Hola,

El archivo físico de la BD en Firebird 2.5 no es compatible con Firebird 3.x  Para esto debes hacer un Backup en la versión anteior (2.5) y luego hacer Restore con la versión nueva (3.x). el Gbak.exe a usar debe ser el de cada versión.


Jorge Lozano Manifacio

unread,
Jan 17, 2020, 4:46:05 PM1/17/20
to Comunidad de Visual Foxpro en Español
Eso lo se .. lo que necesito es tener las 2 versiones instaladas ... el 2.5 utilizando el Microsip y la version 3.0 para mi aplicacion ... 

Antonio Meza

unread,
Jan 17, 2020, 5:12:28 PM1/17/20
to Comunidad de Visual Foxpro en Español

Dario Alberto Becerra Begazo

unread,
Jan 18, 2020, 8:44:07 PM1/18/20
to Comunidad de Visual Foxpro en Español
Mejor es tener una versión. Migrar la 2.5 a 3. Es fácil. Sacas copia de seguridad en 2.5 y restauras en la versión 3.
Reply all
Reply to author
Forward
0 new messages