DotNetFirebird.org DotNetFirebird
Using Firebird SQL in .NET.
Monday, January 17, 2005

Firebird and Microsoft Jet Feature Comparison

Incomplete and biased comparison of Firebird 1.5 and Microsoft Jet 4.0:

FeatureFirebird 1.5Microsoft Jet 4.0
Deployment and Administration
Single database file
Embeddable Details...
XCOPY data deployment Details...
Hot backup (24x7 availability is possible)
Can run on Windows 98
Scalability
Database file size limit Unlimited* 2 GB
Multiple concurrent users It doesn't scale
Engine Features
Transactions
Views
Autoincrement fields
Stored procedures and triggers
BLOB fields
Unicode support
National character sets support (including sorting)
ADO.NET Provider (OLEDB)
Licensing
Open-source license Details...
License allows use in commercial applications Details...

* Database file size limitation: Firebird is limited only by file system (e.g. 16+ TB on NTFS).

Related

Comments:

Jet is file-server database. Firebird - client-server. It is incorrect to compare them directly. Firebird needs to pass data across process boundaries, it's can reduce perfomance dramatically in some cases.

Add to your feature table next items:

extensiblity - Jet database can be extended with installable ISAM plugins

heterogenous joins - Jet can use different data sources in one query (for example U can join SQL Server table, Firebird table and Excel spreadsheet)

:) sorre for my english
MS Access can be used to work with Jet databases. It supports all Jet features. Firebird need special complicated tools to work with it.
Thanks for a comment. Both systems certainly are different - it is up to you whether you are willing to exchange some performance loss for a transaction support and stored procedures... E.g.: It seems that to me that on desktop the transaction log is very handy since desktops are much less stable than servers and rarely have UPS systems.

In Firebird you can use nice IBExpert Personal that is free and allows you to manage your Firebird database without any problems. http://www.ibexpert.com

I plan to make a new revision of the comparison - your comments will be included.
Hi ,,,,
i have a question regarding Firebird , it looks like this database could be exactly what i need to replace Access for my app however i have one question

is it possible to protect my data ?

i.o.w. i only want my data to be accessible through my program

Hashtable parameters = new Hashtable();
parameters.Add("User", "SYSDBA");
parameters.Add("Password", "masterkey");
parameters.Add("Database", @"mydb.fdb");
parameters.Add("ServerType", 1);
FbConnection.CreateDatabase(parameters);

do i understand it correctly as i say that in the above example only the person who knows that the sysdba password is "masterkey" can access this database

not like msde or SQL server that anyone who is a administrator can open the database with the sql query analyzer

if the above is true that would be amazing and then indeed firebird is exactly what i need

could you please reply to me ( maybe by e-mail )

michelp@nohausystems.nl

regards and keep up the good work

Michel Posseth
Michel:

When you use the embedded Firebird (i.e. ServerType=1):

- the access to the database is not driven by user/password, but rather by file permissions
- user/password used in the connection string is necessary but it is a formality
- there is no TCP/IP port listening (i.e. no access from network is possible)
- however, if there is a Firebird server installed on that machine it is still possible to connect to your database unless you a) forbid that in the firebird.conf; or b) set the file permissions accordingly on the db file (so that the server can't open it)
michelp,

You are certainly misinformed about the MS SQL Server security. You can certainly block machine administrator from opening up the database in Query Analyzer.
Er, the images don't seem to load (Firefox or IE), it's difficult to "compare" this way... =)
Repaired, thanks for a notice.
Access (the JET engine) certainly supports transactions.
Blog comments are closed.



Previous

Archives