Subject Re: [firebird-support] My Firebird experience (was Re: ODBC queries with parameters failing)
Author Thomas Steinmaurer
> On 28/02/2013 1:40 PM, André Knappstein wrote:
>> To create databases, look up the literature about which commands to
>> use or use one of the available free management tools.
>
> I really didn't want to have to learn how to use a full client/server
> RDBMS just to create a file. Maybe Firebird isn't the right solution
> for me. All I know is what my experience with Firebird has been so far,
> which is my first experience with it in about five years. For right
> now, I know I don't want client/server. I just want embedded (via
> ODBC). The ODBC driver doesn't support embedded out of the box (it has
> literally everything else, though... it's almost a management tool in
> and of itself). So I get the embedded server, but the embedded server
> doesn't come with any command-line tools or executables of any sort. It
> has only libraries, so I couldn't use it to actually create the database
> for embedded use. Wanting to avoid the pain of installing a full
> client/server database simply to create a file, I tried to just download
> the server and use the sample DB that came with it. But I got a
> security error every time I tried to delete the existing tables in it.
> So I bit the bullet and installed the full server in non-service mode
> and went through the pain of trying to get it up and running enough to
> connect to it and create a database. After some frustration, and some
> time, I finally found out that it completely violates Windows file
> protection guidelines by putting the security database inside the actual
> program installation directory. However there is no manifest file
> installed with it that tells Windows to elevate privileges. So,
> finally, after terminating the server and restarting it as
> administrator, I was finally able to connect just to create an empty
> database. I promptly uninstalled the server, keeping a copy of the
> blank DB for future use.
>
> And if that was painful, don't ask me how painful it was to get Jaybird
> to work. Other products put the necessary DLLs inside the .jar. 'Nuff
> said.
>
> Firebird has something really unique here. A product that can scale
> from SQLite to Postgres in one product. I think you should be singing
> this from the mountaintops. Encouraging this sort of use. SQLite can't
> grow like Firebird can, and Postgres can't shrink. What an amazing
> product! I have to say, though, nothing is ever easy with it. And this
> was my experience in the past too. Great product. But nothing about it
> just works out of the box.

You can get up and running with SQLite very quickly, but with SQLite,
"Embedded" is the default option, so no wonder that the user experience
is better compared to Firebird Embedded. But, for SQLite multi-user
access you have to download and use something different anyway, AFAIR.

PostgreSQL on the other side, there is only a "Server Edition" and no
"Embedded", so you have to install something to get up and running anyway.

Firebird Embedded is NOT intended to use for development. It's target
audience is a special deployment option along your user database, client
application file etc. following a XCOPY paradigm, without installing
anything. Right, there are no client-tools in the Embedded package
included. Perhaps at least isql would help, but then you have to rename
fbembed.dll to fbclient.dll. Others might add, why not adding gbak, gfix
etc. I guess using e.g. FlameRobin (a graphical tool) works with
Embedded as well, but still, nothing really out-of-the box, but again,
Embedded is just about Deployment and not for Development.

Getting a Firebird Server up and running is a no-brainer. Either with
the installer or I prefer the ZIP distribution, because it gives you
more flexibility. Look here:
http://www.iblogmanager.com/download/demos/firebird/firebird_multiple_instances_windows.htm

As for JayBird, as a JDBC type 4 thin driver, you don't need any client
libraries at all. Put jaybird-full-<x.y.z>.jar onto the class path and
you are done. Can't be easier than that and pretty much all JDBC drivers
handle that the same way.

Sure, there is always space for improvements. If you have any ideas on
what make a rookies life easier and on what could improve the first user
experience, let us know.

Short screencasts could be the right tool to get up and running quickly.
Feel free to suggest what you would like to see. Perhaps the Firebird
Foundation listens and bakes the implementation with a grant.

Just my 0.02 Austrian Schilling.


--
With regards,
Thomas Steinmaurer (^TS^)
Firebird Technology Evangelist

http://www.upscene.com/

Do you care about the future of Firebird? Join the Firebird Foundation:
http://www.firebirdsql.org/en/firebird-foundation/