here is the login and cpu info
ssh pi@192.168.1.104 pi@192.168.1.104's password: Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. NOTICE: the software on this Raspberry Pi has not been fully configured. Please run 'sudo raspi-config' pi@raspberrypi ~ $ cat /proc/cpuinfo Processor : ARMv6-compatible processor rev 7 (v6l) BogoMIPS : 697.95 Features : swp half thumb fastmult vfp edsp java tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xb76 CPU revision : 7 Hardware : BCM2708 Revision : 000f Serial : 000000008c86c7c9First thing i search in a debian is the firebird packages
apt-cache search firebird falconpl-dbi-firebird - Firebird SQL database abstraction layer for Falcon P.L firebird-dev - Development files for Firebird - an RDBMS based on InterBase 6.0 code firebird2.5-classic - Firebird Classic Server - an RDBMS based on InterBase 6.0 code firebird2.5-classic-common - common files for firebird 2.5 "classic" and "superclassic" firebird2.5-classic-dbg - collected debug symbols for firebird2.5-classic and -superclassic firebird2.5-common - common files for firebird 2.5 servers and clients firebird2.5-common-doc - copyright, licnesing and changelogs of firebird2.5 firebird2.5-doc - Documentation files for firebird database version 2.5 firebird2.5-examples - Examples for Firebird - an RDBMS based on InterBase 6.0 code firebird2.5-server-common - common files for firebird 2.5 servers firebird2.5-super - Firebird Super Server - an RDBMS based on InterBase 6.0 code firebird2.5-super-dbg - collected debug symbols for firebird2.5-super firebird2.5-superclassic - Firebird SuperClassic Server - an RDBMS based on InterBase 6.0 code flamerobin - graphical database administration tool for Firebird DBMS libdbd-firebird-perl - Perl DBI driver for Firebird RDBMS server libdbi-perl - Perl Database Interface (DBI) libfbclient2 - Firebird client library libfbembed2.5 - Firebird embedded client/server library libib-util - Firebird UDF support library libwtdbofirebird-dev - Firebird backend for Wt::Dbo [development] libwtdbofirebird32 - Firebird backend for Wt::Dbo [runtime] php5-interbase - interbase/firebird module for php5What is next ? installing firebird 2.5 super server of course
sudo apt-get install firebird2.5-super Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: firebird2.5-common firebird2.5-common-doc firebird2.5-server-common libfbclient2 libib-util Suggested packages: firebird2.5-doc The following NEW packages will be installed: firebird2.5-common firebird2.5-common-doc firebird2.5-server-common firebird2.5-super libfbclient2 libib-util 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. Need to get 3,300 kB of archives. After this operation, 12.8 MB of additional disk space will be used. Do you want to continue [Y/n]? Y Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main firebird2.5-common-doc all 2.5.2~svn+54698.ds4-1 [636 kB] Get:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main firebird2.5-common all 2.5.2~svn+54698.ds4-1 [95.7 kB] Get:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libfbclient2 armhf 2.5.2~svn+54698.ds4-1 [223 kB] Get:4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libib-util armhf 2.5.2~svn+54698.ds4-1 [3,814 B] Get:5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main firebird2.5-server-common armhf 2.5.2~svn+54698.ds4-1 [488 kB] Get:6 http://mirrordirector.raspbian.org/raspbian/ wheezy/main firebird2.5-super armhf 2.5.2~svn+54698.ds4-1 [1,853 kB] Fetched 3,300 kB in 13s (238 kB/s) Preconfiguring packages ... Selecting previously unselected package firebird2.5-common-doc. (Reading database ... 57783 files and directories currently installed.) Unpacking firebird2.5-common-doc (from .../firebird2.5-common-doc_2.5.2~svn+54698.ds4-1_all.deb) ... Selecting previously unselected package firebird2.5-common. Unpacking firebird2.5-common (from .../firebird2.5-common_2.5.2~svn+54698.ds4-1_all.deb) ... Selecting previously unselected package libfbclient2:armhf. Unpacking libfbclient2:armhf (from .../libfbclient2_2.5.2~svn+54698.ds4-1_armhf.deb) ... Selecting previously unselected package libib-util:armhf. Unpacking libib-util:armhf (from .../libib-util_2.5.2~svn+54698.ds4-1_armhf.deb) ... Selecting previously unselected package firebird2.5-server-common. Unpacking firebird2.5-server-common (from .../firebird2.5-server-common_2.5.2~svn+54698.ds4-1_armhf.deb) ... Selecting previously unselected package firebird2.5-super. Unpacking firebird2.5-super (from .../firebird2.5-super_2.5.2~svn+54698.ds4-1_armhf.deb) ... Processing triggers for man-db ... Setting up firebird2.5-common-doc (2.5.2~svn+54698.ds4-1) ... Setting up firebird2.5-common (2.5.2~svn+54698.ds4-1) ... Setting up libfbclient2:armhf (2.5.2~svn+54698.ds4-1) ... Setting up libib-util:armhf (2.5.2~svn+54698.ds4-1) ... Setting up firebird2.5-server-common (2.5.2~svn+54698.ds4-1) ... adduser: Warning: The home directory `/var/lib/firebird' does not belong to the user you are currently creating. Setting up firebird2.5-super (2.5.2~svn+54698.ds4-1) ... Created default security2.fdb [ ok ] Firebird 2.5 super server not running. [warn] Not starting Firebird 2.5 super server ... (warning). [warn] Use `dpkg-reconfigure firebird2.5-super' to enable ... (warning).So let's enable Firebird super server
pi@raspberrypi ~ $ sudo dpkg-reconfigure firebird2.5-super [ ok ] Firebird 2.5 super server not running. [ ok ] Starting Firebird 2.5 super server...done. [ ok ] Firebird 2.5 super server already running.Yes it's on
ps axu | grep firebird firebird 2830 0.0 0.1 4528 796 ? S 19:18 0:00 /usr/sbin/fbguard -daemon -forever -pidfile /var/run/firebird/2.5/fbserver.pid firebird 2832 0.2 1.0 62444 4540 ? Sl 19:18 0:00 /usr/sbin/fbserverStill got 256m of free memory for nginx , php , or something better a node.js experiment Let's create/use a database and see simple firebird at work
sudo apt-get install firebird2.5-examples firebird-dev cp /usr/share/doc/firebird2.5-common-doc/examples/empbuild/employee.fdb.gz gunzip employee.fdb.gz sudo chown firebird.firebird employee.fdb mv employee.fdb /var/lib/firebird/2.5/data isql-fb Use CONNECT or CREATE DATABASE to specify a database SQL> connect "/var/lib/firebird/2.5/data/employee.fdb " user 'SYSDBA' password 'masterkey' CON> ; Database: "/var/lib/firebird/2.5/data/employee.fdb ", User: SYSDBA SQL> show tables; COUNTRY CUSTOMER DEPARTMENT EMPLOYEE EMPLOYEE_PROJECT JOB PROJECT PROJ_DEPT_BUDGET SALARY_HISTORY SALES SQL> show version; ISQL Version: LI-V2.5.2.26508 Firebird 2.5 Server version: Firebird/linux ARM (access method), version "LI-V2.5.2.26508 Firebird 2.5" Firebird/linux ARM (remote server), version "LI-V2.5.2.26508 Firebird 2.5/tcp (raspberrypi)/P12" Firebird/linux ARM (remote interface), version "LI-V2.5.2.26508 Firebird 2.5/tcp (raspberrypi)/P12" on disk structure version 11.2 SQL> SQL> create database "/var/lib/firebird/2.5/data/first_database.fdb" user 'SYSDBA' password 'masterkey' CON> ; Commit current transaction (y/n)?y Committing. SQL> connect "/var/lib/firebird/2.5/data/first_database.fdb" user 'SYSDBA' password 'masterkey'; Commit current transaction (y/n)?y Committing. Database: "/var/lib/firebird/2.5/data/first_database.fdb", User: SYSDBA SQL> CREATE TABLE TEST (ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20)); SQL> show tables CON> ; TEST SQL> INSERT INTO TEST VALUES (1, 'John'); SQL> INSERT INTO TEST VALUES (2, 'Joe'); SQL> select * from test; ID NAME ============ ==================== 1 John 2 Joe SQL>Later i will try firebird c api examples
cd /usr/share/doc/firebird2.5-common-doc/examples/api cp *.gz ~/ chown pi.pi *.gz cd ~ gunzip *.gz gcc -L/usr/lib -lfbclient -I/usr/share/doc/firebird2.5-common-doc/examples/include/ api1.c ISC_USER=SYSDBA ISC_PASSWORD=masterkey ./a.out /tmp/new.fdb Created database '/tmp/new.fdb'. Successfully accessed the newly created database.So all it works as it should without errors and at the speed of pentium 2 like system or even faster I love the small server and i can leave it on 24x7 without the need to think too much for the energy costs
Next i have tested the firebird python driver fdb
sudo apt-get install python-pip pip install fdb cat test.py con = fdb.connect(dsn='/var/lib/firebird/2.5/data/employee.fdb', user='sysdba', password='masterkey') cur = con.cursor() SELECT = "select * from employee" # 2. Equivalently using fetchall(): # This is potentially dangerous if result set is huge, as the whole result set is first materialized # as list and then used for iteration. cur.execute(SELECT) for row in cur.fetchall(): print 'ID:%d Name %s.' % (row[0], row[1]) python test.py .... ID:141 Name Pierre. ID:144 Name John. ID:145 Name Mark.Next on my testing list is compiling the node.js (doing it rightnow) and the pure JavaScript Firebird driver with an express demo Update : compiling node is done here are my results
3 comments:
Thanks for this, helped me allot !
Have you tried or do you have a preferred webserver to use with pi and firebirdsql?
node contains also a web server but if you want to serve static content fast i recommend nginx
Post a Comment