Monday, December 06, 2004

Goldmine and the BDE

Goldmine Setup
--------------

- if it doesn't find a local bde installation (usually denoted by idapi32.dll)
it will setup the BDE registry entries in
HKLM\SOFTWARE\Borland\Database Enginepointing to the version of BDE from where setup is run (in this case on the Goldmine drive)

- if it does find a local bde installation, it will attempt to merge the Goldmine settings
(stored in ..\BDEShare\IDAPI32.cfg) with the setting of those of the local installation.
(IDAPI32.cfg in the local BDE folders)

- Additionally Setup creates three ODBC connections:
GMSales_Mktg
GMSales_Mktg System
ManCon Metric Log (Used when Goldmine is integrated with HEAT)

These connections are setup mainly for the user'c convenience when building reports. If no applications or reports depend on them, they can be safely deleted.

To manually run BDE - (Run BDEADMIN.exe from file:////GoldmineServer/GoldmineShare/Setup/BDEShare)
or C:\Program Files\Common Files\BDEShare)

When Goldmine was initially installed, the BDE engine was configured to include the
following MSSQL Aliases:

Goldmine These are 'MSSQL aliases' pointing back to the server directly
Goldmine_Test (ie not ODBC dependant)

These describe where the Goldmine databases are sitting
eg Config Settings:
Server Name: DatabaseServer
Database Name: Goldmine
User Name: sa (must be a specifed username - cannot use Windows pass-through)
... etc

These settings can be edited manually, however as it is in binary format, it cannot easily be parsed through scripting. The entire file can be migrated between systems to transfer these settings. And is prone to corruption

- The BDE engine 'absorbs' ODBC connections present on any machine it is running on, and creates equivalent BDE Aliases - such that BDE applications can access data through ODBC connections.
These connections, in addition to 'pure' BDE aliases are stored entirely within Idapi32.cfg

Each BDE Alias is self contained with regards to database parameters and connectivity settings / optimisations eg: BLOB SIZE

- The BDE also requires registry entries which describe where the BDE engine and IDAPI32.cfg is sitting:

[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine]
"DLLPATH"="g:\\setup\\bdeshare"
"CONFIGFILE01"="g:\\setup\\bdeshare\\idapi32.cfg"

and also any database drivers that are loaded .... (various keys beneath the parent Database Engine Key)


Running Goldmine
----------------

- Username is extracted from Windows environment variables. The 'User.dbf' dbase file is checked from within the Goldmine program directory to see whether the current username exists in the file (with a blank password).
If the user exists, and the password is blank, the goldmine load process will continue
If the user does not exist, or the password is not blank, it will prompt
- Then the local Registry is checked for BDE settings
- IDAPI.DLL and CFG are searched for in location specified in registry - bombs out if it can't find them
- Checks GM.INI in the Server Program file directory for entries like the following:
[GoldMine]
GoldDir=MSSQL: GoldMine: dbo:
CommonDir=MSSQL: GoldMine: dbo:

This specifies which alias to use in the BDE engine when connecting to the database
- It resolves the two aliases
(GoldDir - Goldmine internal Database structure - screen layouts, etc)
(CommonDir - User Data portion of database)
This means the application and User Data portions of the database can be run on seperate servers if rqd
- Looks to the Goldir Alias, for (amongst others) a table called SPFILES
(This table is created through the front end, whenever new Goldmine databases are created)
It contains information similar to the following:

DIRNAMEDIRPATHUSERIDDIRCODEDBPASSWORDDRIVER
Goldmine ProductionMSSQL: Goldmine: dbo:12producGMSQLEncrypted PasswordMSSQL


It then follows the entries in the DIRPATH column depending on what matches the entries from GM.INI for CommonDir
If there is no match, or multiple matches, Goldmine will prompt for the database to be used, otherwise it will
a

Once the database has been resolved, the application then verifies the current user logon details against the USERID
column. The USERID column contains a Goldmine application group which controls application security

The current architecture for Goldmine is such that the BDE Settings in the registry of each local machine point to the BDE files on the Goldmine server. NOTE This CAN be a UNC path

On systems with PA Report Query or other applications that utilise BDE, conflicts may occur if any of the above configuration is modified. It should be possible to make apps co-exist with Goldmine so long as the above configuration is honoured.


2 comments:

Unknown said...

Well written article. Get rid of the traditional ways of marketing and buy a customized email list from us. One real-time data can change your entire business for good. Parana Impact provides you the Email List that you are exactly looking for.
We have worked with many organizations of all the sizes. Our main focus is customer satisfaction. Gold Mine CRM Users Email List

pegasimediagroup said...

Got to learn a lot of things from this article. It can be used for any kind of business. Pegasi Media Group the world's leading database vendor and the most preferred organization all over the globe. Our brand is well-known in the market. The organizations of all the sizes have experienced our services and are quite pleased with it. We perform the activities like data cleansing, data appending, data updating, data validation, and data verification on a regular basis before the final delivery. You have also got the tremendous flexibility to choose the geographical location and reach out to the prospects that you target.Gold Mine CRM Users Email List & Mailing List