firebirdfirebird-4.0

I/O error during "CreateFile (open)" operation for file (SQLCODE: -902, SQLSTATE: 08001, GDSCODE: 335544344) Firebird 4.0.3


Having technical issue on old server (FB 2.1) we copied our DB to another virtual server as mentioned in the post title.

I set up the server last week:

  1. There is also rule to allow access on 3050 port (netstat approves that Firebird is listening on it).
  2. There are two DBs now: with aliases, so aliases.confis configured.
  3. To test the first one last week I wrote the following lines in 'firebird.conf':
DatabaseAccess = Restrict D:\Projects\db\

+

AuthServer = Srp256, Srp, Legacy_auth 
AuthClient = Srp256, Srp, Legacy_auth 
UserManager = Srp, Legacy_UserManager 
WireCrypt = Enabled

As was mentioned at one of the posts on stackoverflow. I can't found the correct solution. databases.conf:

# ------------------------------
# List of known databases
# ------------------------------

#
# Makes it possible to specify per-database configuration parameters.
# See the list of them and description on file firebird.conf.
# To place that parameters in this file add them in curly braces
# after "alias = /path/to/database.fdb" line. Example:
#   big = /databases/bigdb.fdb
#   {
#       LockMemSize = 32M       # We know that bigdb needs a lot of locks
#       LockHashSlots = 19927   #   and big enough hash table for them
#   }
#

#
# Example Database:
#
employee.fdb = $(dir_sampleDb)/employee.fdb
employee = $(dir_sampleDb)/employee.fdb

#
# Master security database specific setup.
# Do not remove it until you understand well what are you doing!
#
security.db = $(dir_secDb)/security4.fdb
{
    RemoteAccess = false
    DefaultDbCachePages = 256
}

#
# Live Databases:
#

Screen is also attached. enter image description here


Solution

  • The phrasing of your question suggests that you have defined alias Bee in a file called aliases.conf, just like you used to do under Firebird 4.0. However, since Firebird 3.0, Firebird no longer uses that file, instead it uses databases.conf (which in addition to specifying aliases can hold database-specific configuration.

    If that is the case, copy the content of aliases.conf to databases.conf and delete aliases.conf. The file databases.conf also contains some standard configuration for the security database, so don't just replace the files!

    As an aside, if you only copied your database from Firebird 1.5 to Firebird 4.0 without backup and restore, this is not going to work. Firebird 4.0 can only open Firebird 4.0 (ODS 13.0) databases. In addition, there were some syntax and behavioural changes between Firebird 1.5 and Firebird 2.0 that may cause issues for your existing application if it relies on that syntax and behaviour (I highly recommend you check the Firebird 2.0, 2.1, 2.5, 3.0 and 4.0 release notes).