Practice
Installing Borland Database Engine (BDE) on Windows Server 2008 x64 or Windows Server 2008 R2 is a fairly non-trivial task.
The thing is, BDE isn't supported "out of the box" on these OSes, and the BDE creators themselves never bothered to update their little miracle. The installer simply won't launch, saying "This program is not intended for this version of Windows."
Officially, BDE works on 32-bit OSes like Windows XP (read: Server 2003). On newer ones - sorry, but a plain "setup.exe" won't cut it.
However, life forces us to use such products on newer systems - you can't stay on 32-bit Windows Server 2003 till the end of time just because some old piece of software reaches its databases through BDE.
So, here's a how-to on installing Borland Database Engine on Windows Server 2008, using the R2 edition of this OS as an example.
1) We'll need BDE itself. Since installing it via setup.exe doesn't work, we'll have to take a dump from an already installed BDE on a 2003-level server.
C:\Program Files (x86)\Borland
C:\Program Files (x86)\Common Files\Borland Shared
2) Now the registry. You need to import entries from the files below.
Here are 2 files that need to be imported into the registry. You can download them via the links below from our site:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wow6432Node\Borland] [HKEY_CURRENT_USER\Software\Wow6432Node\Borland\BdeAdmin] [HKEY_CURRENT_USER\Software\Wow6432Node\Borland\BdeAdmin\1.0] [HKEY_CURRENT_USER\Software\Wow6432Node\Borland\BdeAdmin\1.0\DbXForm] "DbX.WindowState"="0" "DbX.Left"="164" "DbX.Top"="71" "DbX.Width"="777" "DbX.Height"="587" "DbX.MainSplit"="386" "DbX.EditsSplit"="57" "DbX.QuerySplit"="77" "DbX.PropertySplit"="178" "DbX.ToolBar"="1" "DbX.StatusBar"="1" "DbX.ViewStyle"="3" "DbX.AutoArrange"="0" "DbX.TextFont"="1:Courier New:0:8" "DbX.WordWrap"="0" "DbX.ShowConfirms"="1" "DbX.ShowWarnings"="1" "DbX.Query.RequestLive"="0" "DbX.Query.LineDelimit"="---" "DbX.Query.StmtDelimit"="#0" "DbX.Query.Escape"="#0" "DbX.Query.EscapeQuote"="0" "DbX.Query.Comments"="--;/*,*/" "DbX.ViewingBlobs"="0" "DbX.ViewSystemData"="0" "DbX.ViewEditText"="1" "DbX.ViewCompleteText"="0" "DbX.ViewRoot"="TDatabases" "DbX.KeepTreeSync"="1"
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\BLW32] "BLAPIPATH"="C:\\Program Files (x86)\\Borland\\Common Files\\BDE" "LOCALE_LIB1"="C:\\Program Files (x86)\\Borland\\Common Files\\BDE\\USA.BTL" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine] "ConfigFile01"="C:\\Program Files (x86)\\Borland\\Common Files\\BDE\\IDAPI32.CFG" "DLLPath"="C:\\Program Files (x86)\\Borland\\Common Files\\BDE" "Resource"="0009" "SaveConfig"="WIN32" "UseCount"="2" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\DB2] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\DB2\DB OPEN] "USER NAME"="MYNAME" "DB2 DSN"="DB2_SERVER" "OPEN MODE"="READ/WRITE" "SCHEMA CACHE SIZE"="8" "LANGDRIVER"="" "SQLQRYMODE"="" "SQLPASSTHRU MODE"="SHARED AUTOCOMMIT" "SCHEMA CACHE TIME"="-1" "MAX ROWS"="-1" "BATCH COUNT"="200" "ENABLE SCHEMA CACHE"="FALSE" "SCHEMA CACHE DIR"="" "ENABLE BCD"="FALSE" "ROWSET SIZE"="20" "BLOBS TO CACHE"="64" "BLOB SIZE"="32" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\DB2\INIT] "VERSION"="4.0" "TYPE"="SERVER" "DLL32"="SQLDB2V5.DLL" "DRIVER"="IBM DB2 DRIVER" "DRIVER FLAGS"="" "TRACE MODE"="0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\DBASE] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\DBASE\INIT] "VERSION"="3.0" "TYPE"="FILE" "LANGDRIVER"="DBWINWE0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\DBASE\TABLE CREATE] "LEVEL"="5" "MDX BLOCK SIZE"="1024" "MEMO FILE BLOCK SIZE"="1024" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\FOXPRO] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\FOXPRO\INIT] "VERSION"="4.0" "TYPE"="FILE" "LANGDRIVER"="DBWINUS0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\FOXPRO\TABLE CREATE] "LEVEL"="25" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\INFORMIX] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\INFORMIX\DB OPEN] "SERVER NAME"="INF_SERVER" "DATABASE NAME"="MY_DATABASE" "USER NAME"="MYNAME" "OPEN MODE"="READ/WRITE" "SCHEMA CACHE SIZE"="8" "LANGDRIVER"="" "SQLQRYMODE"="" "SQLPASSTHRU MODE"="SHARED AUTOCOMMIT" "LOCK MODE"="5" "DATE MODE"="1" "DATE SEPARATOR"="/" "SCHEMA CACHE TIME"="-1" "MAX ROWS"="-1" "BATCH COUNT"="200" "ENABLE SCHEMA CACHE"="FALSE" "SCHEMA CACHE DIR"="" "ENABLE BCD"="FALSE" "LIST SYNONYMS"="NONE" "DBNLS"="" "COLLCHAR"="" "BLOBS TO CACHE"="64" "BLOB SIZE"="32" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\INFORMIX\INIT] "VERSION"="4.0" "TYPE"="SERVER" "DLL32"="SQLINF9.DLL" "DRIVER FLAGS"="" "TRACE MODE"="0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\INTRBASE] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\INTRBASE\DB OPEN] "SERVER NAME"="IB_SERVER:/PATH/DATABASE.GDB" "USER NAME"="MYNAME" "OPEN MODE"="READ/WRITE" "SCHEMA CACHE SIZE"="8" "LANGDRIVER"="" "SQLQRYMODE"="" "SQLPASSTHRU MODE"="SHARED AUTOCOMMIT" "SCHEMA CACHE TIME"="-1" "MAX ROWS"="-1" "BATCH COUNT"="200" "ENABLE SCHEMA CACHE"="FALSE" "SCHEMA CACHE DIR"="" "ENABLE BCD"="FALSE" "BLOBS TO CACHE"="64" "BLOB SIZE"="32" "WAIT ON LOCKS"="FALSE" "COMMIT RETAIN"="FALSE" "ROLE NAME"="" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\INTRBASE\INIT] "VERSION"="4.0" "TYPE"="SERVER" "DLL32"="SQLINT32.DLL" "DRIVER FLAGS"="" "TRACE MODE"="0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\MSACCESS] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\MSACCESS\DB OPEN] "DATABASE NAME"="DRIVE:/PATH/DATABASE.MDB" "USER NAME"="" "OPEN MODE"="READ/WRITE" "LANGDRIVER"="" "SYSTEM DATABASE"="" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\MSACCESS\INIT] "VERSION"="1.0" "TYPE"="SERVER" "DLL32"="IDDA3532.DLL" "DRIVER FLAGS"="" "TRACE MODE"="0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\MSSQL] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\MSSQL\DB OPEN] "DATABASE NAME"="" "SERVER NAME"="MSS_SERVER" "USER NAME"="MYNAME" "OPEN MODE"="READ/WRITE" "SCHEMA CACHE SIZE"="8" "BLOB EDIT LOGGING"="" "LANGDRIVER"="" "SQLQRYMODE"="" "SQLPASSTHRU MODE"="SHARED AUTOCOMMIT" "DATE MODE"="0" "SCHEMA CACHE TIME"="-1" "MAX QUERY TIME"="300" "MAX ROWS"="-1" "BATCH COUNT"="200" "ENABLE SCHEMA CACHE"="FALSE" "SCHEMA CACHE DIR"="" "HOST NAME"="" "APPLICATION NAME"="" "NATIONAL LANG NAME"="" "ENABLE BCD"="FALSE" "TDS PACKET SIZE"="4096" "BLOBS TO CACHE"="64" "BLOB SIZE"="32" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\MSSQL\INIT] "VERSION"="4.0" "TYPE"="SERVER" "DLL32"="SQLMSS32.DLL" "VENDOR INIT"="" "CONNECT TIMEOUT"="60" "TIMEOUT"="300" "DRIVER FLAGS"="" "TRACE MODE"="0" "MAX DBPROCESSES"="31" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\ORACLE] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\ORACLE\DB OPEN] "SERVER NAME"="ORA_SERVER" "USER NAME"="MYNAME" "NET PROTOCOL"="TNS" "OPEN MODE"="READ/WRITE" "SCHEMA CACHE SIZE"="8" "LANGDRIVER"="" "SQLQRYMODE"="" "SQLPASSTHRU MODE"="SHARED AUTOCOMMIT" "SCHEMA CACHE TIME"="-1" "MAX ROWS"="-1" "BATCH COUNT"="200" "ENABLE SCHEMA CACHE"="FALSE" "SCHEMA CACHE DIR"="" "ENABLE BCD"="FALSE" "ENABLE INTEGERS"="FALSE" "LIST SYNONYMS"="NONE" "ROWSET SIZE"="20" "BLOBS TO CACHE"="64" "BLOB SIZE"="32" "OBJECT MODE"="TRUE" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\ORACLE\INIT] "VERSION"="4.0" "TYPE"="SERVER" "DLL32"="SQLORA8.DLL" "VENDOR INIT"="OCI.DLL" "DRIVER FLAGS"="" "TRACE MODE"="0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\PARADOX] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\PARADOX\INIT] "VERSION"="3.0" "TYPE"="FILE" "LANGDRIVER"="DBWINUS0" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\PARADOX\TABLE CREATE] "LEVEL"="4" "BLOCK SIZE"="4096" "FILL FACTOR"="80" "STRICTINTEGRTY"="TRUE" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\SYBASE] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\SYBASE\DB OPEN] "DATABASE NAME"="" "SERVER NAME"="SYB_SERVER" "USER NAME"="MYNAME" "OPEN MODE"="READ/WRITE" "SCHEMA CACHE SIZE"="8" "BLOB EDIT LOGGING"="" "LANGDRIVER"="" "SQLQRYMODE"="" "SQLPASSTHRU MODE"="SHARED AUTOCOMMIT" "DATE MODE"="1" "SCHEMA CACHE TIME"="-1" "MAX QUERY TIME"="300" "MAX ROWS"="-1" "BATCH COUNT"="200" "ENABLE SCHEMA CACHE"="FALSE" "SCHEMA CACHE DIR"="" "HOST NAME"="" "APPLICATION NAME"="" "NATIONAL LANG NAME"="" "ENABLE BCD"="FALSE" "TDS PACKET SIZE"="512" "BLOBS TO CACHE"="64" "BLOB SIZE"="32" "CS CURSOR ROWS"="1" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\DRIVERS\SYBASE\INIT] "VERSION"="4.0" "TYPE"="SERVER" "DLL32"="SQLSSC32.DLL" "VENDOR INIT"="" "CONNECT TIMEOUT"="60" "TIMEOUT"="300" "DRIVER FLAGS"="" "TRACE MODE"="0" "MAX DBPROCESSES"="31" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\REPOSITORIES] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\SYSTEM] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\SYSTEM\FORMATS] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\SYSTEM\FORMATS\DATE] "SEPARATOR"="/" "MODE"="1" "FOURDIGITYEAR"="FALSE" "YEARBIASED"="TRUE" "LEADINGZEROM"="TRUE" "LEADINGZEROD"="TRUE" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\SYSTEM\FORMATS\NUMBER] "DECIMALSEPARATOR"="." "THOUSANDSEPARATOR"="," "DECIMALDIGITS"="2" "LEADINGZERON"="TRUE" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\SYSTEM\FORMATS\TIME] "TWELVEHOUR"="FALSE" "AMSTRING"="AM" "PMSTRING"="PM" "SECONDS"="TRUE" "MILSECONDS"="FALSE" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\database engine\Settings\SYSTEM\INIT] "VERSION"="3.0" "LOCAL SHARE"="TRUE" "MINBUFSIZE"="128" "MAXBUFSIZE"="2048" "LANGDRIVER"="DBWINUS0" "MAXFILEHANDLES"="48" "SYSFLAGS"="0" "LOW MEMORY USAGE LIMIT"="32" "AUTO ODBC"="FALSE" "DEFAULT DRIVER"="PARADOX" "SHAREDMEMSIZE"="2048" "SHAREDMEMLOCATION"="" "DATA REPOSITORY"="[SAMPLE_DD_NAME]" "MEMSIZE"="16" "SQLQRYMODE"="" "MTS POOLING"="FALSE" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\InterBase] "UseCount"="3" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\InterBase\CurrentVersion] "Version"="WI-V4.2.1.328" "RootDirectory"="C:\\Program Files (x86)\\Borland\\INTRBASE\\" "DefaultMode"="-r"
These are .reg files - just import them into the registry using the usual method (you can double-click them via Explorer).
After completing these steps... and that's it, everything works from here and BDE is ready to use.
Comments