Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Python
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2019
BlackPrince BlackPrince is offline
Registrado
 
Registrado: abr 2017
Posts: 8
Poder: 0
BlackPrince Va por buen camino
Hola, disculpas que vuelvo sobre este tema. Capaz alguno pueda ayudarme. Tengo una aplicación con bases de datos Firebird 2.1 en un servidor y Raspberries que funcionan como terminales de captura de datos que envían por red al servidor. Debe existir la posibilidad de que ante una caída de conexión con el servidor, caída de red, o caída del servidor, la Raspberry funcione localmente contra una base de datos local hasta que se recupere la conexión, y luego cuando se restablece la conexión traslade la data local al servidor.



El problema es que desde los repositorios de Raspbian:
En Raspberry Pi3B solo está disponible el motor de base de datos Firebird 2.1/2.5
En Raspberry Pi3B+ y Raspberry Pi4 solo puede instalarse el motor Firebird 3.0


Preferiría no tener que llevar todo a Firebird 3.0, por un lado porque ya tengo muchas RBPi3B instaladas, y además tendría que rehacer todas las aplicaciones administrativas y de las terminales llevando todo a Firebird 3.0 cuando hoy todo anda de maravillas con Firebird 2.1/2.5


La consulta es: hay alguna manera de bajar el instalador del motor Firebird 2.1/2.5 para instalarlo "a mano" en una RaspberrypI3B+ ??


Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 06-11-2019
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 281
Poder: 8
manelb Va por buen camino
Disculpa BlackPrince, pero hay algo que se me escapa:

¿Porqué la necesidad de instalar Firebird3.0?
¿No puedes continuar con las Pi3B?

¿Con que tienes programada la aplicación cliente que corre sobre los terminales?
¿Como te planteas guardar los datos en local cuando pierdas la conexión con el servidor?
Responder Con Cita
  #3  
Antiguo 06-11-2019
BlackPrince BlackPrince is offline
Registrado
 
Registrado: abr 2017
Posts: 8
Poder: 0
BlackPrince Va por buen camino
Hola manelb, gracias por responder. La necesidad es que tengo que instalar un motor de base de datos local en la Raspberry. Esto es posible, pero sucede que en las RaspberryPi3B desde el repositorio está disponible solamente la versión 2.1 o 2.5 de Firebird. Mientras que en las Raspberry Pi3B+ y 4, solamente está disponible Firebird 3.0.
Justamente mi consulta es si habrá una manera de bajar de algun lado un instalador del motor Firebird 2.5 para instalarlo en Raspberry Pi3B+ o Pi4.
Mi aplicación está instalada en varios clientes donde hay diversidad de Raspberrys modelos 3B y 3B+. Hasta ahora todo anda de maravillas porque la base de datos es única y está en un servidor, y es una Firebird 2.1, y en todas las Raspi es posible instalar el cliente libfbclient2 para acceder a una base externa. El problema es cuando quiero instalar un motor local. No están todas las versiones disponibles, vuelvo a decir. Si uno hace "sudo apt-cache firebird" desde una RBPi3B te trae los motores 2.1 y 2.5, y desde una RBPi3B+ o RBPi4 te mestra que solo está disponible Firebird3.0,
La aplicación de las terminales está desarrollada en Lazarus. Ya he probado usar los componentes de sqldb y zeos satisfactoriamente para acceder a datos tanto de bases de datos locales como remotas. También he probado acceder desde un servidor a las bases locales de cada raspberry, no hay problemas por ese lado...
El sistema trabaja con dos bases de datos, una de configuración y otra de producción. La de configuración dice lo que debe ejecutarse en cada terminal, y la de producción mantiene solo registros de trazabilidad de todas las operaciones hechas en las terminales.

La idea es tener replicas de las bases de datos de configuración del sistema en cada raspberry, que se mantendrían actualizadas/sincronizadas con la base de datos maestra del servidor, de eso se encargaría una aplicación que correría en el servidor. En cuanto se cayera el servidor, el sistema detectaría la perdida de conexión y le pregunta al operador si desea seguir trabajando en modo local, entonces mientras dure la pérdida de conexión, los datos de producción se grabarían localmente como instrucciones pendientes de ejecución.
Las aplicaciones de administración del sistema y la del servidor de momento están hechas en Delphi6, y estaría planeando migrarlas a Lazarus.
Responder Con Cita
  #4  
Antiguo 06-11-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
En teoría, la descargas de firebirdsql.org y la instalas.
Responder Con Cita
  #5  
Antiguo 06-11-2019
BlackPrince BlackPrince is offline
Registrado
 
Registrado: abr 2017
Posts: 8
Poder: 0
BlackPrince Va por buen camino
Hola Casimiro. Lo único que veo disponible para ARM es la versión Firebird3.0. Alguien podría decirme cómo encontrar en el sitio de firebird la versión 2.1 o 2.5 para Raspbian? Gracias
Responder Con Cita
  #6  
Antiguo 06-11-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por BlackPrince Ver Mensaje
Hola Casimiro. Lo único que veo disponible para ARM es la versión Firebird3.0. Alguien podría decirme cómo encontrar en el sitio de firebird la versión 2.1 o 2.5 para Raspbian? Gracias
Puede que la hayan retirado porque decían que era una versión inestable para probar y que no era para producción.
De todas formas, seguramente puedas descargarlo o extraerlo de una imagen iso debian para la raspberry. Creo recordar que en la web de debian estaban todas las versiones.
Responder Con Cita
  #7  
Antiguo 06-11-2019
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
Y si lo compilas?

Código:
git clone https://github.com/FirebirdSQL/firebird.git
cd firebird
git checkout origin/B2_5_Release
./autogen.sh
make
sudo make install
Si, tienes problemas al compilar, probablemente quieras separar tu aplicación del acceso a la base de datos, probablemente a través de un servicio en la misma máquina, al cual tu aplicación acceda a través de una API, y esta se encargue de retransmitir las peticiones hacia la base de datos correspondiente, que podría ser SQLite3, firebird 3 o la que se encuentre disponible en la distribución, o la base de datos remota que tienes con firebird 2.

De esta forma para tu aplicación sería transparente el acceso a la base de datos.
Responder Con Cita
  #8  
Antiguo 06-11-2019
BlackPrince BlackPrince is offline
Registrado
 
Registrado: abr 2017
Posts: 8
Poder: 0
BlackPrince Va por buen camino
Hola, gracias por colaborar. Les cuento lo último que descubrí. En la RBPi3B tengo un Raspbian Jessie, desde ahí está disponible para instalar de repositorios el Firebird2.1 y 2.5. En las RBPi3B+ tengo Raspian Stretch, y desde ahí solo se puede instalar Firebird 3.0 de repositorios. Por lo tanto el problema es de OS. Entonces quise correr un Raspbian Jessie en una Raspi3B+, con una SD con el OS original Jessie pero el hardware no la reconoce... no bootea.



Seguí las instrucciones de tsk y obtuve los siguientes resultados (con errores):


pi@raspberrypi:~ $ git clone blablabla (no me deja poner el link)
Cloning into 'firebird'...
remote: Enumerating objects: 22, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 445106 (delta 9), reused 9 (delta 3), pack-reused 445084
Receiving objects: 100% (445106/445106), 146.45 MiB | 308.00 KiB/s, done.
Resolving deltas: 100% (371078/371078), done.
Checking out files: 100% (3130/3130), done.
pi@raspberrypi:~ $ cd firebird
pi@raspberrypi:~/firebird $ git checkout origin/B2_5_Release
Checking out files: 100% (5710/5710), done.
Note: checking out 'origin/B2_5_Release'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b <new-branch-name>

HEAD is now at b7bbaa70a7... increment build number
pi@raspberrypi:~/firebird $ ./autogen.sh
AUTORECONF=autoreconf
**Warning**: I am going to run `configure' with no arguments.
If you wish to pass any to it, please specify them on the
`./autogen.sh' command line.

Running autoreconf ...
autoreconf: Entering directory `.'
autoreconf: configure.in: not using Gettext
autoreconf: running: aclocal -I . --force
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
autoreconf: configure.in: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'builds/make.new/config'.
libtoolize: copying file 'builds/make.new/config/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: configure.in: not using Automake
autoreconf: Leaving directory `.'
Re-running libtoolize ...
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'builds/make.new/config'.
libtoolize: copying file 'builds/make.new/config/config.guess'
libtoolize: copying file 'builds/make.new/config/config.sub'
libtoolize: copying file 'builds/make.new/config/install-sh'
libtoolize: copying file 'builds/make.new/config/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
Running ./configure ...
checking whether make sets $(MAKE)... yes
checking build system type... armv7l-unknown-linux-gnueabihf
checking host system type... armv7l-unknown-linux-gnueabihf
checking target system type... armv7l-unknown-linux-gnueabihf
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for /proc/self/maps... yes
checking whether everything is installed to the same prefix... no
checking whether binary relocation support should be enabled... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for cc_r... gcc
checking for readline in -ledit... no
checking for readline in -leditline... no
checking for readline in -lreadline... no
configure: WARNING: --with-system-editline specified, not found. Using bundled editline
checking for gawk... gawk
checking for gcc option to accept ISO C99... none needed
checking for gcc option to accept ISO Standard C... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking whether gcc needs -traditional... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking how to convert armv7l-unknown-linux-gnueabihf file names to armv7l-unknown-linux-gnueabihf format... func_convert_file_noop
checking how to convert armv7l-unknown-linux-gnueabihf file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking libio.h usability... yes
checking libio.h presence... yes
checking for libio.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking math.h usability... yes
checking math.h presence... yes
checking for math.h... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking for sys/wait.h that is POSIX.1 compatible... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/mount.h usability... yes
checking sys/mount.h presence... yes
checking for sys/mount.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking setjmp.h usability... yes
checking setjmp.h presence... yes
checking for setjmp.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking sys/signal.h usability... yes
checking sys/signal.h presence... yes
checking for sys/signal.h... yes
checking sys/siginfo.h usability... no
checking sys/siginfo.h presence... no
checking for sys/siginfo.h... no
checking termio.h usability... yes
checking termio.h presence... yes
checking for termio.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for dirent.h that defines DIR... (cached) yes
checking for library containing opendir... (cached) none required
checking for unistd.h... (cached) yes
checking varargs.h usability... no
checking varargs.h presence... no
checking for varargs.h... no
checking crypt.h usability... yes
checking crypt.h presence... yes
checking for crypt.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking rpc/rpc.h usability... yes
checking rpc/rpc.h presence... yes
checking for rpc/rpc.h... yes
checking netconfig.h usability... no
checking netconfig.h presence... no
checking for netconfig.h... no
checking for rpc/xdr.h... yes
checking aio.h usability... yes
checking aio.h presence... yes
checking for aio.h... yes
checking mntent.h usability... yes
checking mntent.h presence... yes
checking for mntent.h... yes
checking mnttab.h usability... no
checking mnttab.h presence... no
checking for mnttab.h... no
checking sys/mntent.h usability... no
checking sys/mntent.h presence... no
checking for sys/mntent.h... no
checking sys/mnttab.h usability... no
checking sys/mnttab.h presence... no
checking for sys/mnttab.h... no
checking sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking socket.h usability... no
checking socket.h presence... no
checking for socket.h... no
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/sockio.h usability... no
checking sys/sockio.h presence... no
checking for sys/sockio.h... no
checking winsock2.h usability... no
checking winsock2.h presence... no
checking for winsock2.h... no
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/sem.h usability... yes
checking sys/sem.h presence... yes
checking for sys/sem.h... yes
checking semaphore.h usability... yes
checking semaphore.h presence... yes
checking for semaphore.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking atomic.h usability... no
checking atomic.h presence... no
checking for atomic.h... no
checking atomic_ops.h usability... no
checking atomic_ops.h presence... no
checking for atomic_ops.h... no
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking linux/falloc.h usability... yes
checking linux/falloc.h presence... yes
checking for linux/falloc.h... yes
checking for library containing dlopen... -ldl
checking for main in -lm... yes
checking for tgetent in -lcurses... no
checking for tgetent in -lncurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
configure: error: termcap support not found
pi@raspberrypi:~/firebird $ make
make: *** No se especificó ningún objetivo y no se encontró ningún makefile. Alto.
pi@raspberrypi:~/firebird $ sudo make install
make: *** No hay ninguna regla para construir el objetivo 'install'. Alto.
pi@raspberrypi:~/firebird $
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lazarus y Firebird en Raspberry Pi mjjj Lazarus, FreePascal, Kylix, etc. 4 11-09-2018 15:36:16
Conculta de Ventajas Optimización de Firebird 3.0 sobre Firebird 2.5 Combat-F2D Firebird e Interbase 18 19-04-2016 23:11:42
Windows 10 para la Raspberry Pi 2 nlsgarcia La Taberna 8 11-02-2015 09:58:03
instalar Win2003R2 sobre WinXP rafita Windows 4 13-08-2007 09:40:36
Instalar PHP + Firebird brandolin PHP 3 24-05-2004 16:48:40


La franja horaria es GMT +2. Ahora son las 08:56:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi