How to unload BTRIEVE in a NW5 environment

  • 3748106
  • 20-Sep-2007
  • 16-Mar-2012

Environment

Novell NetWare 5.0
Novell NetWare 5.1
BTRIEVE.NLM
NWMKDE.NLM

Situation

Module BTRIEVE.NLM is being referenced
You must unload CSL.NLM before you can unload BTRIEVE.NLM
You must unload CSSYMSG.NLM before you can unload BTRIEVE.NLM
You must unload LIC_API.NLM before you can unload BTRIEVE.NLM
SERVER-5.00-1143: Unable to unload module BTRIEVE.NLM (error 2)
How to unload BTRIEVE in a NW5 environment

Resolution

The KB 2946551, discusses how to unload BTRIEVE.NLM successfuly in Novell NetWare 4.x environments. Unfortunately as the TID points out you can't apply this solution to Novell NetWare 5.x.
According to Pervasive Software"Service Pack 4 enhancements enable Shutdown/Restart of MicroKernel Database Engine (MKDE) (NWMKDE.NLM) even when other NLMs reference BTRIEVE.NLM"
How to issue commands to perform a forced shutdown of Pervasive.SQL on NetWare
1. BTRV UNLINK - This command must be typed exactly as shown - with a single space separating the two words.
2. BSTOP or SQLSTOP
3. Make the parameter changes.

NOTE: To restart the service issue these commands:
1. BTRV LINK
2. BSTART or SQLSTART - BSTART.NCF includes the BTRV LINK command in Service Pack 4
Pervasive also provide the following warning
"NOTE: It is recommended that you restart the system whenever possible because shutting down NWMKDE.NLM causes the
NLMs that reference Btrieve and continue performing Btrieve calls to receive Status code 20 - The MKDE is not loaded.
Users of this feature must be aware of the risks involved. If an NLM is actively performing Btrieve operations at the
time the "BTRV UNLINK" command is issued, then that NLM will receive Btrieve errors because BTRIEVE.NLM can no longer
pass calls to the MKDE."
Searching Pervasive support web site for the following terms UNLOAD and BTRIEVE should return the relevant web pages discussed above.

Additional Information

CSL.NLM references BTRIEVE.NLM

Formerly known as TID# 10058683