• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1117
  • Last Modified:

Installing Interbase 5.5 and Firebird 2.0 at the same machine

Is it possible to have Interbase 5.5 and Firebird 2.0 installed at the same machine ? so that I could toggle between them when I want to use Interbase 5.5 or toggle again when I need Firebird 2.0 ? And the way to toggle them ?
0
ivylnm
Asked:
ivylnm
  • 3
2 Solutions
 
dprochownikCommented:
You can do that in two ways:

  1. As I kwow, firebirdClient.dll has down compatibility with gds32.dll. I'm not sure if this is true for Firebird 5.5, but if yes, than you can install both of them on the same machine (Interbase first and then Firebird), rename FirebirdClient.dll to gds32.dll and use it to override gds32.dll installed by Interbase, propably in c:\windows\System32

    Next you have to configure for example firebird to use different port than 3050 which is also used by Interbase. You can do tham by modyfi Firebird.conf in firebird direvtory.
    Chenge line:
    #RemoteServicePort = 3050
    by (for example)
    RemoteServicePort = 3040
    And restart firebird.
    Now when you want to connect to databese localhost:c:\mydatabase.gdb using Interbase, you can do that as always putting database name to localhost:c:\mydatabase.gdb, but when you want connect using firebird, you have to put database name as localhost/3040:c:\mydatabase.gdb

     
  2. In second way you are doing exacly the same steps as in first one, but you don't change port number for firebird.
    Against that you are setting firebird or Interbase service in Windows to not automatic start.
    To start Firebird you are writing some .bat file, containing:
    NET STOP "GDS_DB"
    NET STOP "GDS_DB"
    NET START "FirebirdGuardianDefaultInstance"
    NET START "FirebirdServerDefaultInstance"


    I'm not sure about Interbase service name. If it is not GDS_DB, than replace it by proper value.

    To start Interbase just use another .bat file containing
    NET STOP "FirebirdGuardianDefaultInstance"
    NET STOP "FirebirdServerDefaultInstance"
    NET START "GDS_DB"

    In this way, you are connecting from application with firebird and Interbase with the same database file name (without different ports), but you have to be sure that, they are not listenin on the same port in the same time. One of them have to be disabled at windows start, and you have to use .bat files to disable/enable proper services.
0
 
Nick UpsonPrincipal Operations EngineerCommented:
agreed with previous description, minor points

it's fbclient.dll not firebirdClient.dll

don't use a filename that has a .gdb suffix, windows takes backups of it, use .fdb for firebird and .ib7 for interbase.

interbase 5.5 is very, very, old, it predates the interbase/firebird split and was never designed to work on XP so you may have issues with it.

firebird 2.0 has stricter rules about some syntax and some different reserved words since interbase 5.5 days
0
 
dprochownikCommented:
I will only add, that if you will choose first of described method you can also modify
c:\windows\System32\drivers\etc\services
file by adding:
fb20             3040/tcp    firebird20             #Firebird 2.0 server
Interbase    3050/tcp    firebird15             #Interbase 5.5 server

if you do that, you can access to database by passing file name:

localhost/fb20:c:\mydatabase.gdb
or
localhost/Interbase:c:\mydatabase.gdb

depends on which one SQL server you want use


0
 
dprochownikCommented:
There should be:

fb20             3040/tcp    firebird20             #Firebird 2.0 server
Interbase    3050/tcp    Interbase55        #Interbase 5.5 server

Sorry for mistake
I had copy that from my own services file (I'm using Firebird 1.5 and 2.0 on the same machine)
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now