Can I access a database from a mapped drive on a share?

Short: You shouldn't.

Long: Firebird requires that databases are kept on a local hard disk. The reason is that the Firebird server needs to have exclusive access to database file and that is not possible on shares (mapped network drives via Windows networking or Samba). The exclusive access is needed since any attempt to write the database by two processes would really quick result in a corrupt database file.

So, keep your databases on a local disk. If you need to serve it from another computer, install Firebird there. It's lightweight and will only take few megabytes of your disk space.

Note: there is a configuration option in firebird.conf called RemoteFileOpenAbility to work around this, but it is highly recommended that you don't use it. Even if you only read from database using SELECT statements, the engine needs to keep record of those read transactions and that changes the database file.

If you really need a database only to query data on remote drive, you can do the following: First put the database in read-only mode (which stops tracking transactions) and then start read-only transactions in your client for SELECTS. This approach also works for databases that are burned onto CD or DVD media.

To put database in read-only mode, you can use gfix command line tool:

gfix -mode read_only database_name

Do you find this FAQ incorrect or incomplete? Please e-mail us what needs to be changed. To ensure quality, each change is checked by our editors (and often tested on live Firebird databases), before it enters the main FAQ database. If you desire so, the changes will be credited to your name. To learn more, visit our add content page.

All contents are copyright © 2007-2024 unless otherwise stated in the text.

Links   Firebird   News   FlameRobin   Powered by FB: Home Inventory   Euchre  
Add content   About  

 Installation and setup
 Backup and restore
 Connectivity and API
 Errors and error codes