Firebird

This example is for easily installing Firebird for the first time on Windows 10 64-bit for beginner development purposes.  More info here for a server install.

We are basically following this guide for Win10 64-bit development to see how simple we can make it.  You are on your own if you use another operating system on your desktop.  We are also assuming that you've never had Firebird installed on your computer (if you have Firebird installed, do Settings  | Apps and uninstall Firebird then delete the Firebird folder in the Program Files folder).  If you are using Win10 Insider Preview both FlameRobin and IB_SQL both fail with error -902 which leads to more info here and here.

Make sure you run the installer program as Administrator (i.e. right-click on the executable and choose Run as Administrator) or you may run into permission problems later!

Read and do the first four sections of this document (please note that all installation defaults are to be taken including clicking Next to use the default masterkey password, and on the Select Additional Tasks screen, do check the box for Enable authorization for legacy Firebird clients so Oxetta will work). After installation do this from the fifth section:

Fire up isql and connect to a database. In this example, the employee example database is used, because its alias is always present in a freshly installed Firebird setup. Shift-Right-click on the "Program Files\Firebird\
Firebird_3_0" folder and start Powershell then type this line and watch:

.\isql localhost:employee -u sysdba -p masterkey

If you do this isgl should respond with:

Database: localhost:employee, User: SYSDBA

SQL>

You should type these 3 lines slowly and watch:

show database;

quit;

exit

Also from the fifth section:

The Firebird kit does not come with a GUI admin tool. It does have a set of command-line tools executable programs which are located in the bin subdirectory of your Firebird installation (on Windows, they are in the installation directory itself). One of them, isql, has already been introduced to you.

You can find GUI admin tools here and here.

We hope to do: 1) Figure out how to use localhost and the alias employee to easily access the database, and 2) use an admin tool to easily backup and restore the employee,fdb database.

If you are already smart enough to use Visual Studio Code then we'd like to recommend DB Explorer for Firebird Databases. We will try three other tools:

1) Download the Oxetta Database Explorer zip from here. Unzip it and run DBExplorer.exe as an Administrator. Win10 asks if okay to install.  What has to be installed? Appears to be two MSI to redistribute MS VS2010 CRT libraries. Click Connection and select "New Database Connection". For connection type select Firebird.  Give it any name that you want (like localhost). For Server address type localhost.  For alias type employee or path to database (c:\databases\employee.fdb).  For Login type SYSDBA. For Password type masterkey.  If you want to, click to check Remember authentication info permanently. Cick OK.  Click on the Connection menu and click Connect. It works! Disconnect before closing the program.

2) Get "flamerobin-0.9.3.c75f861-setup-x64.exe" and install (as Adminisrator) from here. Right-click on localhost and click save. Right-click on localhost and click on Register existing database and browse to employee.fdb in the Program Files\Firebird\Firebird_3_0\examples\empbuild folder.  Add the user SYSDBA and password masterkey.  When connect this works!

Note: Ignore this paragraph as it is no longer necessary as figured out how to use an alias in LibreOffice (below). I created c:\databases as a new folder.  I used FlameRobin to make employee.fbk  that I put into the c:\databases folder.  Disconnect from the main employee.fdb file. Made new connection to employee.fdb in the c:\databases folder (even though the file does not yet exist). I then restored employee.fdb in that same folder.

Disconnect before closing the FlameRobin program.

3) Get the IB-SQL program from IBObjects. Extract (and extract subfolder IB_SQL_64 also) and run (as Administrator) the IB_SQL.exe program in the 64 subfolder.  Browse to the employee.fdb file in the Program Files\Firebird\Firebird_3_0\examples\empbuild folder. When connect this works! Disconnect before closing the program.



Now install LibreOffice 6.3.0 64-bit from here.  Get and install (as Administrator) 64-bit Java from here. Run LibreOffice and select Tools | Options and select Advanced then click Use a Java runtime envirement and click Oracle Corporation and then click Apply then click OK.

Note: Ignore this paragraph as it doesn't work (but would be simpler)! Back on the main LibreOffice screen click Base Database and a dialog should show to create a new database. Select Connect to an existing database with Firebird file selected. Click Next and then browse to the Program Files\Firebird\Firebird_3_0\examples\empbuild folder and select the employee.fdb file. Erase one / character after file: as there is one too many. Click Next, Finish, Save and I see an error about connection could not be established.  Here is a write-up and I'll need to try this.

My java is 1.8

Downloaded jaybird-jdk18-4.0.0-beta-1.zip okay from here:
  https://firebirdsql.org/en/jdbc-driver/#jaybird4

But when tried to download Jaybird-3.0.6-JDK_1.8.zip from the above page Win10 Insider Preview Edge Dev said it has a virus.

Extract the jaybird-jdk18-4.0.0-beta-1.zip, then in LibreOffice Tools | Options and select Advanced then Class Path: Add Archive - /path/to/jaybird-full.X.X.X.jar

On the main LibreOffice screen click Base Database and a dialog should show to create a new database. Select Connect to an existing database with JDBC selected then click Next.

Datasource URL: firebirdsql:oo:localhost/3050:employee?charSet=UTF-8
JDBC driver class: org.firebirdsql.jdbc.FBDriver

Click Next then type SYSDBA and check the box for password required then click Next then click Finish then click Save and then type masterkey then click OK. The tables are displayed!

Now hope to find a LibreOffice tutorial based on the employee database.

Issues raised:

https://ask.libreoffice.org/en/question/204561/how-access-firebird-employee-db-via-jdbc/

https://github.com/FirebirdSQL/jaybird/issues/22



https://www.ibphoenix.com/files/ConnectionStrings_Fb3.pdf

https://docs.oracle.com/javase/tutorial/jdbc/index.html
https://github.com/FirebirdSQL/jaybird/wiki/LibreOffice-Base

https://ask.libreoffice.org/en/question/161648/connect-base-to-firebirdserver-how/

I found this:
  https://firebirdsql.org/en/news/introducing-firebird-butler/
which led to this:
  https://firebird-butler.readthedocs.io/en/latest/introduction.html


Return to home page.

Please share your ideas, comments and suggestions. Thanks!