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 ?
ivylnmAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Databases

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.