Firebird requires MS-DOS compatible file paths
I was contacted by a customer today, who received exceptions when trying to open a Firebird database (using the current version 2.03) on his machine:
Error message: FirebirdSql.Data.FirebirdClient.FbException:
I/O error for file CreateFile (open) “M:[…]Aufträgesome database.fdb”
Error while trying to open file —> FirebirdSql.Data.Common.IscException:
An exception of type FirebirdSql.Data.Common.IscException was thrown.
at FirebirdSql.Data.Client.Gds.GdsDatabase.Attach(DatabaseParameterBuffer dpb,
String dataSource, Int32 port, String database)
The solution was as simple as embarassing: It appears that Firebird doesn’t play nice with national characters (e.g. umlauts) anywhere in a database’s file path. Changing the folder name Aufträge to something ASCII compatible like Orders resolved the issue. Apparently, you should use MS-DOS compatible file paths only when working with Firebird.
Well, after all the next-gen stuff I packed into the app, this should give my customers (at least the ones who really miss their Windows 3.1) that warm, fuzzy vintage feeling the software has been lacking so far. Lucky me 😉