
Document #500, GoldMine and the Borland Database Engine
Covers GoldMine 4.x or higher
The Borland Database Engine (BDE) designed by Borland is publicly available for developers to use for accessing data stored in several formats with a common set of commands. GoldMine and other applications such as Delphi or WordPerfect do use the BDE to access data files. In order for GoldMine to properly access its databases, each workstation must have access to the same copy of the BDE.
It is possible to have the BDE installed on some workstations if desired. Use the following table to determine if the BDE version that is installed is compatible with the version of GoldMine that you are using. If an incompatible version is installed, follow the instructions for Removing the BDE Registry Entries provide in this document.
|
GoldMine Version |
Supported BDE Version |
|
GoldMine 4.x |
4.51 or higher |
|
GoldMine 5.x |
5.00 or higher |
|
GoldMine Sales and Marketing |
5.01 or higher |
It is highly advisable that the individual following this document have an excellent working knowledge of file management in Windows, the Windows System Registry, and configuration settings (INI files). The FrontRange Solutions GoldMine Sales team at 800.654.3526 can provide the name of a local GoldMine Authorized Solutions Partner to consult on this matter. The procedures and changes suggested in this document do have the potential to affect the performance and functionality of the system beyond GoldMine.
When GoldMine is launched, it confirms the BDE parameters in the registry are correctly set and corrects any invalid entries as follows:
dBase LEVEL is 5
dBase MDX BLOCK SIZE is at least 1024
dBase DBT BLOCK SIZE is no larger than 512
MAX FILE HANDLES is at least 60
LOCAL SHARE is set to TRUE
To prevent GoldMine from automatically correcting the BDE registry entries, insert a BDEConfigCheck=0 entry in the [GoldMine] section of GM.INI located in the GoldMine root folder.
Example 1 of the GM.INI
[GoldMine]
BDEConfigCheck=0
After GoldMine has been initialized, it loads the IDAPI32.DLL and any other required BDE DLL’s. This allows GoldMine to load up without having to first see the DLL’s required by the BDE and then load the DLL’s based on entries in the Windows System Registry. These entries are located in the HKEY_LOCAL_MACHINE\SOFTWARE\BORLAND\DATABASE ENGINE registry key.
GoldMine uses the BDEINST.INI to install the BDE Registry entries of all BDE, dBase, and SQL drivers. This file can be customized provided that ONLY THE VALUES of the entries are updated or changed. This file must be placed in the same directory that contains IDAPI32.DLL in use by GoldMine.
GoldMine uses the BDE’s native drivers to communicate with the SQL server. A GoldMine user generates a request for information. GoldMine then sends this request to the BDE where it is forwarded to the SQL server. The SQL server then responds to the request for data and sends the requested information back to GoldMine through the BDE. The BDE’s ODBC drivers are not supported for use with GoldMine.
More information is available in the Enterprise Administrators Guide for GoldMine 4.0 Enterprise edition and the FrontOffice 2000 MSSQL 7 Administrators Guide. Both can be downloaded from the GoldMine Support section of our website at http://www.frontrange.com/. The GoldMine 4.x manuals are located with the GoldMine 5.x manuals.
The installation, administration, and ease of upgrading have been simplified by allowing all GoldMine users on the network to share the same BDE installation. This does not require the installation of the BDE to each workstation on the network for GoldMine to properly function. When installing from a workstation to the server, the InstallShield program will copy the BDE files to the \Setup\BDEShare\ folder in the GoldMine root folder on the server. This can be done by performing a Custom installation and choosing the Workstation Setup Files checkbox when prompted.
GoldMine also has an INI setting that will automatically setup the BDE on new client machines the first time GoldMine is run on the workstation. This is activated by adding the following to the GM.INI: NetIDAPI32DLL=n:\goldmine\setup\bdeshare\idapi32.dll
Example 2 of the GM.INI
[GoldMine]
BDEConfigCheck=0
NetIDAPI32DLL=n:\goldmine\setup\bdeshare\idapi32.dll
Be sure change the drive letter to the one in use on the local network. UNC paths are also supported by GoldMine and can be substituted for the DOS path shown in the example. This entry can also be used to override the default location of the BDE that is used by GoldMine.
By default the Windows 9x operating system hides the DLL files, the virtual device drivers (VXD), and common file extensions (like EXE, COM, DOC, XLS, and DOT) from view. This setting can be turned on with the following instructions.
1. Open Windows Explorer and select Tools>>Folder Options.
2. Select the View tab in the Folder Options dialog box.
3. Select the Show all files radio button and uncheck the Hide file extensions for known file types check box.
4. Click on the Apply button and then the OK button for the changes to take effect.
For Windows 2000 follow the steps on page 2, in Step 3 select the Show hidden files and folders radio button.
Common Error Messages
During installation, the following error message can occur:
Setup cannot merge the IDAPI32.CNF file
The primary causes for this error are the IDAPI32.CFG file being in use, marked as read only, or an incompatible version of the BDE is already installed. Confirm that the BDE is not in use and that the file is not marked as read only. If the BDE is already installed, confirm that the BDE version is compatible with the version of GoldMine being installed. If it is not compatible, follow the instructions for Removing the BDE Registry Entries provide in this document.
A secondary cause for this error message is when the IDAPI32.CFG is not accessible. This can occur when the network connection is lost, the server is down, or other network related issues.
There are two messages that can occur when opening GoldMine. The first message that can occur is:
Cannot dynamically load functions of IDAPI32.dll
This can happen if the computer has an incompatible version of the BDE installed or the computer uses a network copy of the BDE and it is not currently connected to the network. This error can also happen if network connectivity is lost while GoldMine is open. To resolve the first two, the registry entries for the BDE must be removed per the provided instructions in this document. For the computer that is not always connected to the network, a local copy of the BDE will need to be installed. GoldMine will correct the registry entries the next time it is run. In the third instance where network connectivity has been lost, restoration of the network connection will resolve the issue.
Another possible cause for this is the SHAREDMEMESIZE setting for the BDE. If this is set to low, the BDE will not allow more than one application that uses the BDE to run at the same time. The following steps explain how to adjust this setting.
1. Open the BDE Administrator by selecting Tools>>BDE Administrator… in GoldMine.
2. In the BDE Administrator, select the Configuration tab then click on the + sign next to Configuration and then System.
3. Select the SHAREDMEMSIZE setting and adjust it in increments of 1024.
4. When satisfied with the changes hit the Enter key to confirm the changes then click on the Blue arrow circling to the right to commit the changes to the BDE configuration.
5. Select Object>>Exit to close the BDE Administrator.
The second message that can occur is:
GoldMine cannot find the BDE and request the location of the BDE
If GoldMine cannot locate the BDE, it will prompt the user to browse to the location of the IDAPI32.DLL. This offers an advantage for network administrators who only want the BDE on the server and not each workstation. Goldmine searches for the BDE in the following manner:
1. Checks the Windows System Registry for references for the location of the BDE.
2. Checks the default location in the GoldMine\Setup\BDEShare folder for the BDE.
3. Checks every folder defined in the Windows system path.
4. Checks the GM.INI for the NetIDAPI32DLL= statement.
Warning: Incorrect usage of the Registry Editor can cause serious problems that may require reinstallation of Windows. FrontRange Solutions Technical Support cannot guarantee that problems resulting from the incorrect usage of the Registry Editor can be solved. Use of the Registry Editor is at your own risk and is not supported by FrontRange Solutions Technical Support. An understanding of how to restore the Windows system registry if a problem occurs after editing it is required. For information on how to do this, select Help>>Help Topics in the Registry Editor and select the ‘Restoring the Registry’ topic. For more information on editing the registry, view the ‘Changing Keys And Values’ online Help topic in the Registry Editor (Regedit.exe). The Registry Editor is an advanced tool for changing settings in the system registry, which contains information about how the computer runs. Generally, it is best to allow Windows programs to modify the system registry, and to avoid making changes using the Registry Editor.
The following steps will manually remove the BDE:
Editing the Windows Registry
1. Close all applications that use the BDE.
2. Select Start>>Run and type in REGEDIT then click on the OK button to start the Registry Editor.
3. Select HKEY_LOCAL_MACHINE\Software\Borland to display the registry keys.
4. Select the Database Engine key, then right click and select Delete from the popup menu. When prompted, answer Yes to confirm the deletion of the registry key.
5. Select the BLW32 key, then right click and select Delete from the popup menu. When prompted, answer Yes to confirm the deletion of the registry key.
6. Exit the registry editor.
GoldMine will replace the registry keys when it is restarted with the correct information.
When using SQL databases, the BDE and GoldMine use an alias to access the SQL database that is stored in the IDAPI32.CFG. It may become necessary to have the BDE installed locally on some machines to meet special needs. It is also possible that the workstation already has a compatible version for the BDE installed. Local installations will use the local configuration settings for the BDE. This will work as long as the local IDAPI32.CFG has the information required by GoldMine in it that is in the network IDAPI32.CFG. This information can be manually added to the local configuration file or the network configuration file can be merged into the local file. The third option is to have the local BDE use the network IDAPI32.CFG file.
To manually add information to the IDAPI32.CFG file, use the BDE Administrator to create the needed aliases. More information is available in the Enterprise Administrators Guide for GoldMine 4.0 Enterprise edition and the FrontOffice 2000 MSSQL 7 Administrators Guide on creating an alias with the BDE Administrator. Both can be downloaded from the GoldMine Support section of our website at http://www.frontrange.com/. The GoldMine 4.x manuals are located with the GoldMine 5.x manuals.
The BDE Administrator for the local BDE can be used to merge the network IDAPI32.CFG with the local IDAPI32.CFG. This ideal for GoldMine users who use laptop computers and dock with the network using both a local and networked copy of GoldMine as needed. The following instructions explain how to merge configuration files.
1. In GoldMine, select Help>>About to open the About GoldMine dialog box then select the System button to display the GoldMine system information. Write down the location shown for the BDE DLL Files and then click on the OK button to close the dialog box.
2. Close GoldMine and all other applications that use the BDE.
3. Open Windows Explorer and browse to the path from Step 1. Locate the BDEAdmin.exe file, right click on it and select Open from the popup menu to start the BDE Administrator.
4. In the BDE Administrator, select Object>>Merge Configuration… to open the Open dialog box. Change the Look in: box to the folder of the IDAPI32.CFG that will be merged with the local IDAPI32.CFG and select the file.
5. Click on the Open button and when prompted with the Merge cannot be undone message click on the OK button to complete the process.
6. Select Object>>Exit to close the BDE administrator.
Using the BDE administrator, a local copy of the BDE can open and use a different IDAPI32.CFG file. This is similar to merging a configuration file; use the following instructions to open a configuration file.
1. In GoldMine, select Help>>About to open the About GoldMine dialog box then select the System button to display the GoldMine system information. Write down the location shown for the BDE DLL Files and then click on the OK button to close the dialog box.
2. Close GoldMine and all other applications that use the BDE.
3. Open Windows Explorer and browse to the path from Step 1. Locate the BDEAdmin.exe file, right click on it and select Open from the popup menu to start the BDE Administrator.
4. In the BDE Administrator, select Object>>Open Configuration… to open the Open dialog box. Change the Look in: box to the folder of the IDAPI32.CFG that will be opened by the local BDE and select the file.
5. Click on the Open button to open the configuration file then select Object>>Exit to close the BDE administrator. When prompted by the message Use Z:\Foldername\ idapi32.cfg as default configuration? Click on the Yes button to confirm the changes.
UNC paths are also supported. This results in the workstation using local program files for the BDE and the servers IDAPI32.CFG file.
Copyright (c) 2002 FrontRange Solutions Inc.
All rights reserved. You may use this document for personal and informational (non-commercial) purposes, provided that the copyright notice and all other notices and permissions appear in all copies, the document is not copied or posted on any network computer or broadcast in any media and modifications are not made to the document. Use for any other purpose is expressly prohibited by law, and may result in civil or criminal penalties.
The information contained in this document is provided “as is” without warranty of any kind. To the maximum extent permitted by applicable law, FrontRange Solutions disclaims all warranties, either express or implied, including warranties for quality, accuracy, merchantability, fitness for a particular purpose, title and non-infringement; and in no event shall FrontRange Solutions or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of profits or data or special damages, even if FrontRange Solutions or its suppliers have been advised of the possibility of such damages.