Firebird and FSQL

Anyone using Firebird with FSQL ? What have been your experience?

Thanks

I know that there are a few users using it, but I’m not sure if any of them watch these forums. With all of this Firebird talk, I decided to download it and see what the FSQL experience was like. We should probably write this up into a how-to or something, but here it goes:

  1. Download & Installation - no problem. “Guardian” tray app seems to not work in Vista, or at least wasn’t running after install like it’s supposed to. Doesn’t matter, server is running fine.

  2. Post install- Kind of tough to figure out what to do, here’s the basics:

    o Need to create a database file: run their ISQL tool with the command:
    CREATE DATABASE 'c:\test.fdb';
    Replacing the path with whatever you want.
    o Default username/password is SYSDBA/masterkey
    It’s fairly easy to change, with help from the quick start guide.

  3. FSQL step 1- We include a Firebird database translation file (firebird.xml in FSQLINSTALLDIR\database), but because of licensing issues we can’t include the .Net driver. So, I went to the website, found the .Net connector, and installed it.

  4. Config XML file - The .Net connector gets installed into a directory in the program files. Open firebird.xml and change the line to point to the installed connector dll. In my case, I just had to change the middle of the path from “FirebirdClient” to “FirebirdClient 2.0”

  5. Config XML file #2 - Looks like this config file was made for an earlier version of Firebird with some different syntax. Things to change:
    o No more “INT64”. Change all "INT64"s to “bigint”
    o If you want table listing to work, change the line to:

    <ListTables>select rdb$relation_name from rdb$relations where rdb$system_flag=0</ListTables>
  6. Restart FSQL service.

  7. Open FSQL frontend, create a new native connection. You should now have “FirebirdSql” as a driver type. For database field, specify the db file you created, ie c:\test.fdb (no quotes). Authentication, sysdba/masterkey, or whatever you’ve changed it to.

And that’s it, seemed to work well. Through this process I came to realize that trying to find documentation and information for firebird is an exercise in extreme patience. Information is completely disjoint across tons of different documents on various websites. Kind of the open source curse. Ultimately the quick start guide and the release notes have some good information, but then a lot of the basic stuff comes from the InterBase 6 documentation pdf.

Hope this helps someone out,

I should also mention that we’ll take care of these config file changes for the next minor update of FactorySQL, 4.2.2. You’ll still potentially have to modify the driverpath, depending on where you install it.

Regards,

[quote=“Colby.Clegg”]I should also mention that we’ll take care of these config file changes for the next minor update of FactorySQL, 4.2.2. You’ll still potentially have to modify the driverpath, depending on where you install it.

Regards,[/quote]

Thanks Colby for taking the time to put this together. I also notice how difficult it was to get one central place for all the information.

Hey, I have a dBASE database running on PC-DOS, can we get FSQL or FPMI talking to that?

Is that a serious question? Actually, if you can get an ODBC connection created in windows, FactorySQL should be able to talk to it. PMI might also be able to, but the JDBC-ODBC bridge is a little unpredictable, it was mainly included to allow connections to access, but it might work out.

Basically, when it comes down to it, if you can connect with odbc you can get data out of it in FSQL. Getting everything to work- table creation, logging, etc. may or may not be possible, and usually involves creating a new database definition file. But you can give it a shot, selecting a pretty standard def file like Postgres, and see how it goes.

Regards,

Sorry man, I was just kidding, Usually, if you see a comment from me that looks like it could be sarcastic, and its getting into the wee hours of the night, it will just be a joke. Thanks anyways

Oh, yeah well, I figured… but at the same time, you just never know around here what someone might want to connect to… :laughing:

Actually, I almost had to ask the same question, but we convinced our customer to use something a little newer.