Coexistence of Firebird 1.5 and InterBase 5.6 or 6.0
by Brenden Walker and Paul Vinkenoog 8 April 2005
Introduction
This paper describes how you can make InterBase and Firebird 1.5 coexist on your Windows computer. Please note that the solution provided here will not allow InterBase and Firebird to run at the same time. You can toggle between them with a minimum of hassle though.
Note
In order to run InterBase and Firebird 1.5 really simultaneously, they have to listen on different ports. This requires some setup on both server and client side. Information on how to do this may be added to this document later, if the maintainer finds the time. For now, you'll have to consult the section Configuring the port service on client and server from the Release Notes (in the doc subdirectory of your Firebird 1.5 installation).
Running Firebird and InterBase together
Setting things up
The procedure listed here must be executed once to set up Firebird 1.5 and InterBase in such a way that you can use them both:
Install InterBase if it hasn't been already.
Find all instances of GDS32.DLL on your local machine and make sure to keep only one copy of this file: the one that belongs to your current InterBase version. Place it in the bin subdir under the InterBase installation directory. This will typically be C:Program FilesInterbase corpInterbasebin or C:Program FilesBorlandInterBasebin.
If you haven't installed Firebird 1.5 yet:
Important
If you have a Firebird 1.5 Release Candidate: get the final release! If you can't or won't do that, read appendix A now.
- Install Firebird 1.5 using the installation program (i.e. run the downloaded .exe file). On the setup screen titled “Select Additional Tasks”, make sure the box “Generate client library as GDS32.DLL” is checked.
- Copy any UDFs your databases need to the udf subdir of your Firebird installation directory.
Check your Startup folder (Menu Start -> Programs -> Startup) to see if it contains any links to the InterBase or Firebird servers and Guardians; if so, remove them.
Windows NT/2000/XP only
If InterBase and/or Firebird is installed as a service, disable the automatic service startup both for the service itself and for the Guardian service. To do this, you can use the Windows Services Manager or the InterBase/Firebird Manager on the Control Panel. Don't uninstall the services themselves, though!
- If you are using IBX in your applications, and you have different versions of the application(s) in different directories, then copy the InterBase version of GDS32.DLL into your InterBase application directories. If you fail to do this, you will be obliged to specify the computer name whenever you connect to InterBase databases via IBX applications. As far as other database access components are concerned, we're not sure if there are any issues (let alone how to solve them).
Switching between InterBase and Firebird
If you have successfully completed the setup steps, you can start up InterBase and Firebird at will; just take care they don't run at the same time. There are several ways to start and stop the database servers:
Easiest, most powerful and therefore recommended: go to http://sourceforge.net/projects/ibfbcoex/ and get DBServerToggler. This little fellow, when started, nestles itself in the System Tray and does all the dirty work for you. You start and stop either server with the click of a button; if you start a server, DBServerToggler will first halt the other one if it's running. You can choose between application mode and service mode for each server independently. Add DBServerToggler to your Startup folder and you'll have it at your fingertips at all times.
Alternatively you can use the InterBase and Firebird Managers on the Control Panel. Just don't forget to stop the running server before you start the other one!
If a server is installed as a service (Windows NT/2000/XP only), you can start and stop it from the Windows Services Manager, or from the command line as shown below. (Note: each box contains one command, to be given on a single line, and without any hyphens.)
Server Start/stop via Guardian Start/stop directly InterBase net start/stop InterBaseGuardian net start/stop InterBaseServer Firebird 1.5 net start/stop FirebirdGuardianDefaultInstance net start/stop FirebirdServerDefaultInstance
Note
If you have started an InterBase version up to 5.6 via the Guardian, you must give two net stop... commands to take it down: first for the Guardian, then for the server. With InterBase 6.0 and Firebird, stopping the Guardian automatically takes down the server as well.
To run a server as an application, you can also use the command line. Here's how:
Server Start via Guardian Start directly Stop InterBase ibguard -a ibserver -a Via systray icon Firebird 1.5 fbguard -a fbserver -a Via systray icon
The executables ib/fbguard.exe and ib/fbserver.exe are found in the bin subdirs underneath the InterBase and Firebird installation directories.
Afterword
The information in this article is provided in good faith, but without any warranty. Although we have tested all the procedures described here, results on your system may be different.
If you find errors in this document, find certain things unclear, or have additional information, please let us know! This document is part of the Firebird manual module so the most logical place to send comments to is the firebird-docs mailing list, to which you can subscribe here: http://lists.sourceforge.net/lists/listinfo/firebird-docs. But you can also contact the maintainer directly at “paulvink at users dot sourceforge dot net”.
Happy toggling! :-)
A. Setting up a Firebird 1.5 Release Candidate
Before you read this appendix, ask yourself why you are working with an RC. If it's not for any special reason, but just because it “happens to be on your system”, do yourself a favor and download the final release. Release Candidates are just that: candidates. They are not supposed to hang around once the final release is out.
If you know what you are doing and you really have a good reason to use an RC instead of the real thing, read on.
Between Firebird 1.5 RC1 and Firebird 1.5 final, lots of things have changed with regard to Registry keys and installation procedures. These things affect the way Firebird should be set up to coexist with InterBase; they also affect DBServerToggler, which is the preferred tool for IB-Fb server switching. However, because development of the Toggler started when Firebird 1.5 was in the early RC phase, certain RC characteristics that have since disappeared are still supported by it.
These are the installation steps to follow if you have a 1.5 Release Candidate:
Install Firebird according to the instructions that came with your RC. If there is an installation program and it asks you whether it should install a legacy GDS32.DLL in the Windows system dir, answer Yes. Maybe you have to check a box on one of the setup screens. Check the system dir (e.g. C:Windowssystem32) afterwards to see if GDS32.DLL is present, and if it is the one from your Firebird package (look at file dates, version info etc.). If it is missing, copy fbclient.dll from your Firebird bin subdir to the Windows system dir and rename it to GDS32.DLL.
Using the Windows command regedit.exe, look in your Registry under `HKEY_LOCAL_MACHINESoftware` for one of these two keys:
FirebirdSQL\Firebird\CurrentVersion\RootDirectory Firebird Project\Firebird Server\Instances\DefaultInstance
One of these keys should exist, and point to your Firebird install dir. If this is not the case, go to the Firebird bin subdir and execute the following command from there:
instreg install "C:\Program Files\Firebird"
...but replace the path argument with your own Firebird install dir if it's different.
If the command returns “Firebird has been successfully installed in the registry” or something similar, good. If not, try just this:
instreg install
(Later RCs choke on the argument; they know what the correct install dir is and put it in the Registry themselves.)
Now jump back to the “Copy any UDFs...” substep in the regular procedure (which you've left to visit this appendix) and let's hope everything works out. If not, you're pretty much on your own (told you you should install the final release, didn't I?).
B. License notice
The contents of this Documentation are subject to the Public Documentation License Version 1.0 (the “License”); you may only use this Documentation if you comply with the terms of this License. Copies of the License are available at http://www.firebirdsql.org/pdfmanual/pdl.pdf (PDF) and http://www.firebirdsql.org/manual/pdl.html (HTML).
The Original Documentation is titled Coexistence of Firebird 1.5 and InterBase 5.6 or 6.0.
The Initial Writers of the Original Documentation are: Brenden Walker and Paul Vinkenoog.
Copyright (C) 2003-2005. All Rights Reserved. Initial Writers contact: paulvink at users dot sourceforge dot net.