VFP 9.0 y Firebird

355 views
Skip to first unread message

Luis Gerardo

unread,
Jul 7, 2011, 1:16:52 PM7/7/11
to Comunidad de Visual Foxpro en Español
Estoy realizando una aplicacion en VFP 9.0 y estoy usando las tablas y
contenedores nativos de Fox, pero quisiera usar Firebird como base de
datos, el problema es que dicha aplicacion debe ser capaz de
ejecutarse en una Memoria USB sin necesidad de instalar nada.
¿¿¿Es posible hacer esto????

Agradecieria cualquier comentario y/o sugerencia

Luis Carrillo

extremo

unread,
Jul 7, 2011, 1:27:53 PM7/7/11
to Comunidad de Visual Foxpro en Español
sin un odbc adecuado?..... lo veo dificil. El programa en VFP correra
sin problemas desde el usb pero la dll que necesita la BD para
realizar la conexion, eso lo complica todo.

Bendiciones

Walter R. Ojeda Valiente

unread,
Jul 7, 2011, 1:49:49 PM7/7/11
to publice...@googlegroups.com
Hola Luis

Sí, se puede.

El Firebird tiene algo muy bueno y es que puedes instalarlo como "embedded", lo cual significa que tienes el Servidor y el Cliente en un solo archivo .DLL, esto es ideal para aplicaciones monousuario, programas demo, presentaciones, catálogos, ejecutarlo desde un CD, DVD o pen-drive, etc.

No se requiere instalación, solamente que el archivo .DLL se encuentre en la misma carpeta que tu .EXE, eso es todo.

La limitación es que al "embedded" no puedes usarlo como Servidor de otras computadoras, solamente funciona en la computadora donde está el archivo .DLL

Pero tu Base de Datos no tiene problemas, puedes usarla con un Firebird "embedded" o con un Firebird "normal", así como está, sin tocarle nada. O sea que si alguna vez quieres usar esa Base de Datos en un Servidor y que accedan a ella desde otras computadoras, podrás hacerlo directamente, solamente necesitarás copiarla en una computadora que tenga instalado un Firebird "normal". Eso es todo.

Saludos.

Walter.



> Date: Thu, 7 Jul 2011 10:16:52 -0700
> Subject: [vfp] VFP 9.0 y Firebird
> From: lg.ca...@gmail.com
> To: publice...@googlegroups.com

Walter R. Ojeda Valiente

unread,
Jul 7, 2011, 1:57:36 PM7/7/11
to publice...@googlegroups.com
Con Firebird sí se puede, no necesita de un controlador ODBC o de cualquier otra cosa.

Hay una versión que se llama "embedded" que es casi exactamente igual que las versiones "normales". Las diferencias son:

- La versión "embedded" tiene al Servidor y al Cliente en un solo archivo .DLL
- Para usar la versión "embedded" lo único que se necesita es que el archivo .DLL esté en la misma carpeta que el .EXE
- La versión "embedded" solamente funciona en la computadora local. Muchas aplicaciones distintas pueden usarla al mismo tiempo, pero todas deben encontrarse en la misma computadora.

Si alguna vez se requiere que la Base de Datos se utilice con una versión "normal" del Firebird, nada hay que tocar en ella. Lo que cambia es la forma de acceder a la Base de Datos, no la Base de Datos.

Saludos.

Walter.



> Date: Thu, 7 Jul 2011 10:27:53 -0700
> Subject: [vfp] Re: VFP 9.0 y Firebird
> From: protech...@gmail.com
> To: publice...@googlegroups.com

William Silupu

unread,
Jul 7, 2011, 2:03:14 PM7/7/11
to publice...@googlegroups.com
Cuales serian las limitaciones de la version
Embedded vs la full o normal?

¤


From: "Walter R. Ojeda Valiente" <wr...@hotmail.com>
Date: Thu, 7 Jul 2011 17:57:36 +0000
Subject: RE: [vfp] Re: VFP 9.0 y Firebird

extremo

unread,
Jul 7, 2011, 2:38:58 PM7/7/11
to Comunidad de Visual Foxpro en Español
Walter

Y si lo que se quiere es conectarse a la BD?.. osea, en mi pendrive
tengo mi aplicacion pero la BD esta por ejemplo en la red LAN, esta
dll que mencionas que estaria obviamente en el mismo pendrive junto al
programa vfp va a poder conectarse a la BD de la red?... si es asi...
es fantastico.

Saludos



On 7 jul, 14:03, "William Silupu" <wsil...@broomperu.com> wrote:
> Cuales serian las limitaciones de la version
> Embedded vs la full o normal?
> ¤
>
>
>
> -----Original Message-----
> From: "Walter R. Ojeda Valiente" <w...@hotmail.com>
>
> Sender: publice...@googlegroups.com
> Date: Thu, 7 Jul 2011 17:57:36
> To: <publice...@googlegroups.com>
> Reply-To: publice...@googlegroups.com
> Subject: RE: [vfp] Re: VFP 9.0 y Firebird
>
> Con Firebird sí se puede, no necesita de un controlador ODBC o de cualquier otra cosa.
>
> Hay una versión que se llama "embedded" que es casi exactamente igual que las versiones "normales". Las diferencias son:
>
> - La versión "embedded" tiene al Servidor y al Cliente en un solo archivo .DLL
> - Para usar la versión "embedded" lo único que se necesita es que el archivo .DLL esté en la misma carpeta que el .EXE
> - La versión "embedded" solamente funciona en la computadora local. Muchas aplicaciones distintas pueden usarla al mismo tiempo, pero todas deben encontrarse en la misma computadora.
>
> Si alguna vez se requiere que la Base de Datos se utilice con una versión "normal" del Firebird, nada hay que tocar en ella. Lo que cambia es la forma de acceder a la Base de Datos, no la Base de Datos.
>
> Saludos.
>
> Walter.
>
> > Date: Thu, 7 Jul 2011 10:27:53 -0700
> > Subject: [vfp] Re: VFP 9.0 y Firebird
> > From: protech.ven...@gmail.com
> > To: publice...@googlegroups.com
>
> > sin un odbc adecuado?..... lo veo dificil. El programa en VFP correra
> > sin problemas desde el usb pero la dll que necesita la BD para
> > realizar la conexion, eso lo complica todo.
>
> > Bendiciones
>
> > On 7 jul, 13:16, Luis Gerardo <lg.carri...@gmail.com> wrote:
> > > Estoy realizando una aplicacion en VFP 9.0 y estoy usando las tablas y
> > > contenedores nativos de Fox, pero quisiera usar Firebird como base de
> > > datos, el problema es que dicha aplicacion debe ser capaz de
> > > ejecutarse en una Memoria USB sin necesidad de instalar nada.
> > > ¿¿¿Es posible hacer esto????
>
> > > Agradecieria cualquier comentario y/o sugerencia
>
> > > Luis Carrillo
>
> .- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Luis Gerardo

unread,
Jul 7, 2011, 2:55:27 PM7/7/11
to Comunidad de Visual Foxpro en Español
Walter gracias por tu apoyo, la unica duda que me queda es que
mencionas que la forma de acceder a la DB es distinta, podrias
ayudarme indicandome como se accederia, puesto que la forma
"tradicional" es por medio de ODBC. Gracias

On 7 jul, 12:57, "Walter R. Ojeda Valiente" <w...@hotmail.com> wrote:
> Con Firebird sí se puede, no necesita de un controlador ODBC o de cualquier otra cosa.
>
> Hay una versión que se llama "embedded" que es casi exactamente igual que las versiones "normales". Las diferencias son:
>
> - La versión "embedded" tiene al Servidor y al Cliente en un solo archivo .DLL
> - Para usar la versión "embedded" lo único que se necesita es que el archivo .DLL esté en la misma carpeta que el .EXE
> - La versión "embedded" solamente funciona en la computadora local. Muchas aplicaciones distintas pueden usarla al mismo tiempo, pero todas deben encontrarse en la misma computadora.
>
> Si alguna vez se requiere que la Base de Datos se utilice con una versión "normal" del Firebird, nada hay que tocar en ella. Lo que cambia es la forma de acceder a la Base de Datos, no la Base de Datos.
>
> Saludos.
>
> Walter.
>
>
>
>
>
>
>
> > Date: Thu, 7 Jul 2011 10:27:53 -0700
> > Subject: [vfp] Re: VFP 9.0 y Firebird
> > From: protech.ven...@gmail.com

Walter R. Ojeda Valiente

unread,
Jul 7, 2011, 7:49:05 PM7/7/11
to publice...@googlegroups.com
Las que ya comenté anteriormente.

- Con la versión "normal" puedes tener a miles de computadoras de todo el mundo conectadas a una sola Base de Datos
- Con la versión "embedded" solamente puedes usar una computadora, esa donde está el archivo .DLL. Puedes tener varias aplicaciones que la usan, si quieres, pero todas deben estar en la misma computadora.

El resto es todo igual.

Inclusive, si alguna vez necesitas que una Base de Datos sea usada en la versión "embedded" o en la versión "normal", en ella no tocas nada. ¿Por qué no? Porque lo que cambia es el Servidor, no la Base de Datos.

Saludos.

Walter.




Subject: Re: [vfp] Re: VFP 9.0 y Firebird
To: publice...@googlegroups.com
From: wsi...@broomperu.com
Date: Thu, 7 Jul 2011 18:03:14 +0000

Walter R. Ojeda Valiente

unread,
Jul 7, 2011, 7:58:36 PM7/7/11
to publice...@googlegroups.com
Si tienes la aplicación en el pen-drive y la Base de Datos en una red, entonces usarías la versión "normal" del Firebird.

Si tienes la aplicación en el pen-drive y la Base de Datos en la misma computadora donde lo insertaste, puedes usar la versión "embedded" o la versión "normal", como prefieras. Pero debes elegir una de ellas, no ambas.

Si tienes la aplicación en el pen-drive y la Base de Datos también en el pen-drive, entonces debes usar la versión "embedded" del Firebird. Eso te permitirá usarla en cualquier computadora del mundo donde puedas insertar tu pen-drive.

Saludos.

Walter.



> Date: Thu, 7 Jul 2011 11:38:58 -0700

> Subject: [vfp] Re: VFP 9.0 y Firebird

Antonio Meza

unread,
Jul 8, 2011, 9:47:27 AM7/8/11
to publice...@googlegroups.com
Hola walter!!!
 
Una pregunta un poco fuera de lugar!!! por no decir tonta jeje
 
Si uso la version embedded para un sistema el rendimiento es el mismo o es menor? imaginando que se instala la aplicacion en un disco duro y el usuario la trabaja, tendria alguna diferencia en cuanto a rendimiento que si usara el servidor normal?
 
saludos!!

Carlos Miguel FARIAS

unread,
Jul 8, 2011, 6:28:28 PM7/8/11
to publice...@googlegroups.com
En mi caso, con el embebido no me funciona, me tira todo doble (es viernes )
360.gif

Walter R. Ojeda Valiente

unread,
Jul 8, 2011, 8:02:32 PM7/8/11
to publice...@googlegroups.com
Si usas la versión "embedded" todo es más rápido porque no se usa la red, tanto la Base de Datos como el motor SQL como tu aplicación están en la misma computadora.

Sin embargo, hay una limitación que se me había pasado comentar. Es muy fácil para cualquiera ver el contenido de tu Base de Datos porque la seguridad es mucho menor.

Saludos.

Walter.




Date: Fri, 8 Jul 2011 06:47:27 -0700
From: solv...@gmail.com
To: publice...@googlegroups.com
Subject: Re: RE: [vfp] VFP 9.0 y Firebird

Roberto Lemos

unread,
Jul 9, 2011, 3:53:17 PM7/9/11
to publice...@googlegroups.com
Hola deseo empezar a trabajar con Firebird, que version me recomiendas?
 
 
----- Original Message -----
360.gif

Walter R. Ojeda Valiente

unread,
Jul 9, 2011, 8:17:07 PM7/9/11
to publice...@googlegroups.com
La versión 2.5, es la última y es muy estable, ya ha sido muy probada (por otros y por mí) y funciona muy bien.

Cualquier duda que tengas ya sabes, me avisas, trataré de ayudarte.

Saludos.

Walter.




Subject: Re: RE: [vfp] VFP 9.0 y Firebird
Date: Sat, 9 Jul 2011 14:53:17 -0500
360.gif

Jose Luis Alzabe

unread,
Jul 11, 2011, 10:59:24 AM7/11/11
to publice...@googlegroups.com
por favor necesito saber si me pueden ayudar con el boton de radio, como se usa y que hay que hacer para que funcione.- Es la primera vez que voy a usar esta herramienta.- Muchas gracias.- Saludos
--
Jose Luis Alzabe
360.gif

Antonio Meza

unread,
May 17, 2012, 3:31:17 PM5/17/12
to publice...@googlegroups.com
Alguien tiene la cadena de conexión o un ejemplo de como conectarse a la base de datos de firebird 2.5 usando la version Embedded desde Visual FoxPro 9?

Eh buscado pero no encuentro como hacerlo, de la forma normal por odbc sin problema pero para el caso de la  Embedded?

saludos
Antonio Meza


Luis Maria Guayan

unread,
May 17, 2012, 3:57:53 PM5/17/12
to publice...@googlegroups.com
¿Esto te ayuda?

http://www.connectionstrings.com/firebird


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Walter R. Ojeda Valiente

unread,
May 17, 2012, 4:01:11 PM5/17/12
to publice...@googlegroups.com
Lo tengo en la otra computadora, más tarde te lo pasaré (si no me olvido, claro).

Saludos.

Walter.





Date: Thu, 17 May 2012 12:31:17 -0700
From: solv...@gmail.com
To: publice...@googlegroups.com
Subject: Re: [vfp] VFP 9.0 y Firebird

Antonio Meza

unread,
May 17, 2012, 4:22:26 PM5/17/12
to publice...@googlegroups.com
Muchas gracias Walter, es que eh buscado y la verdad no encuentro!!

Gracias LuisMaria pero por ODBC si lo tengo!!!


El jueves, 17 de mayo de 2012 15:01:11 UTC-5, Walter R. Ojeda Valiente escribió:
Lo tengo en la otra computadora, más tarde te lo pasaré (si no me olvido, claro).

Saludos.

Walter.





Date: Thu, 17 May 2012 12:31:17 -0700
From:
To: publicesvfoxpro@googlegroups.com

Antonio Meza

unread,
May 18, 2012, 2:50:35 PM5/18/12
to publice...@googlegroups.com
Buenas tardes Walter!!!

Disculpa la molestia, sera que puedas facilitarme el codigo?

saludos





El jueves, 17 de mayo de 2012 15:01:11 UTC-5, Walter R. Ojeda Valiente escribió:
Lo tengo en la otra computadora, más tarde te lo pasaré (si no me olvido, claro).

Saludos.

Walter.





Date: Thu, 17 May 2012 12:31:17 -0700

Julio Cesar Vente Ruiz

unread,
May 18, 2012, 10:54:55 PM5/18/12
to publice...@googlegroups.com
Hola Antonio esto es lo que yo hago en por codigo..

** FORMA SIMPLE
lcCadenaConexion = "DRIVER={Firebird/InterBase(r) driver};" ;
                       + "USER=SYSDBA;" ;
                       + "PASSWORD=voyager;" ;
                       + "ROLE=;" ;
                       + "DATABASE=192.168.27.101:prueba;" ;
                       + "OPTIONS=131329;"

lnHandle = SQLStringConnect(lcCadenaConexion)
      
? lnHandle  && Debe retornar > 0



** ALGO UN POQUITO MAS QUE SIMPLE

PUBLIC lnHandle

SERVER= "IP_SERVER"
UID= "usuario"
ROL="rol"
PWD= "contraseña"
NameDB= "Basedatos"
lnHandle = SQLCONFBSQL("&SERVER","&UID","&ROL","&PWD","&NameDB")
*** FUNCION CREAR CONEXION CON FIREBIR SQL
FUNCTION SQLCONFBSQL(SERVER,NameDB,UID,PWD,ROL)
lcStringCnxRemoto = "Driver={Firebird/InterBase(r) driver};" + ;
                   "Database="+SERVER+":"+NameDB+";"+;                    
                   "User="+UID+";"+;
                   "Password="+PWD+";"+;
                   "Role="+ROL+";"+;
                   "Options= 131329;"

SQLSETPROP(0,"DispLogin" , 3 )
CURSORSETPROP("MapBinary", .T., 0) 
lnHandle = SQLSTRINGCONNECT(lcStringCnxRemoto)

IF lnHandle < 0
AERROR(laErr)
  *MESSAGEBOX("No se pudo conectar con el origen de datos. Error: " + CHR(13) + laErr[2])
  RETURN -1
ENDIF
RETURN lnHandle
ENDFUNC
Espero te sea de utilidad...



--


Julio Cesar Vente Ruiz

HernanCano

unread,
May 19, 2012, 12:34:19 AM5/19/12
to Comunidad de Visual Foxpro en Español
Julio:

Me parece que esta forma de conexión corresponde a ODBC.

Para el embebido ¿es "igual"?

Lo pregunto porque... ¿sólo sería cambiar el 192.168.27.101 por algo
como C:\APP\DATOS_FBD\ ?

Gracias.


On 18 mayo, 21:54, Julio Cesar Vente Ruiz <jventer...@gmail.com>
wrote:
> El 18 de mayo de 2012 13:50, Antonio Meza <solver...@gmail.com> escribió:
>
>
>
>
>
>
>
>
>
> > Buenas tardes Walter!!!
>
> > Disculpa la molestia, sera que puedas facilitarme el codigo?
>
> > saludos
>
> > El jueves, 17 de mayo de 2012 15:01:11 UTC-5, Walter R. Ojeda Valiente
> > escribió:
>
> >>  Lo tengo en la otra computadora, más tarde te lo pasaré (si no me
> >> olvido, claro).
>
> >> Saludos.
>
> >> Walter.
>
> >> ------------------------------

Guillermo MDQ

unread,
May 19, 2012, 1:21:19 AM5/19/12
to publice...@googlegroups.com
A ver si te sirve esto:

"El FB embedded no es más que el servidor de FB metido en una DLL para que trabaje en local, sólo en la máquina donde está instalado. Algo así como lo de las tablas planas (pdx, dbf, mdb) pero con las ventajas de un SGBDR. Además, también te permite conectarte a otros servidores FB que estén accesibles por red.

Dentro de la aplicación, funciona exactamente igual que si trabajaras con el FB Server, con la particularidad de que sólo te puedes conectar a una BBDD que esté en la misma máquina que la aplicación.
Las únicas diferencias están en que sólo puedes conectarte a una BBDD local con una aplicación a la vez, puesto que bloquea la BBDD, y que no puedes crear usuarios, sólo existe SYSDBA (aunque sí que funcionan los permisos, así que cuidado con eso).

Para usarlo, sólo tienes que reemplazar el fbclient.dll que usas para conectarte a un servidor FB normal, por fbembed.dll. Y para acceder a una BBDD de la máquina local, tienes que usar la dirección loopback, algo como "127.0.0.1:c:\bbdd\datos.fdb".
Si usas una cadena de conexión al estilo "192.168.12.2:c:\bbdd\datos.fdb", entonces funcionará como un cliente normal de firebird, dándote acceso a una BBDD que esté en otro servidor FB en la red."


Saludos
Guillermo



Reply all
Reply to author
Forward
0 new messages