Networking Fact Sheet

Network Configuration

This page discusses issues that affect networking Superbase Classic (and older versions) database systems using its normal (LAN or distributed LAN) networking functionality. It does not apply to PPCS-style networking.

The Issues

In the recent past, the computer software market has seen the release of a number of new operating system (OS) and network operating system (NOS) versions. Among these is Windows 95, Windows 98, Windows Me, Windows NT 4.0 Workstation, Windows NT 4.0 Server, Windows 2000 Professional, Windows 2000 Server, Windows XP, Windows Vista, and Windows 7. In the process, new network client software has also been created to work with the new operating systems, both for existing and newly-released NOSs. This has resulted in a number of problems.

Most (if not all) of the new network client software has been pre-configured to run in such a way that it is faster, but not necessarily safe for client-side locking control of a database, such as is typical of products like Superbase, Paradox, dBase, FoxPro, etc. These problems would not be demonstrated by products such as word processors or spreadsheets because they generally do not allow more than one person to work on the same document at the same time. Also, true client-server applications would not be affected, since there would only be one process actually accessing the data files, the server application.

We have identified the issues for the two most common NOSs, Novell Netware and Microsoft NT Server LAN Manager. The following should be taken as a guide to the proper approach to using these two NOSs and how to configure potential clients thereof.

Not making the appropriate changes can result in data corruption and/or destruction of the database to a degree that it may not be recoverable.

Some of our customers have told us that they feel that such a move that is specific to Superbase is to drastic to do in their networks and cannot be justified. We feel that it is important to make clear that this problem does not affect only Superbase, but is a general problem that affects any database application where the client controls data access and concurrency (or other application with concurrent collaboration support). The article that is linked here was posted to the comp.lang.clipper newsgroup in December of 2002 and does the best job we have yet seen to explain the issues.


Warning!

This document contains instructions for editing the registry. If you make any error while editing the registry, you can potentially cause Windows to fail or be unable to boot, requiring you to reinstall Windows. Edit the registry at your own risk. Always back up the registry before making any changes. If you do not feel comfortable editing the registry, do not attempt these instructions. Instead, seek the help of a trained computer specialist.


Client OS Network OS Configuration Notes
Windows 95, Windows 98, Windows Me, Windows NT 4.0, Windows 2000, Windows XP, Windows Vista, or Windows 7 (or later) using Novell Client32 or later Netware The following settings can be made in the Novell client under Windows itself. There are only 4 settings that appear to be of issue on Client32 for Novell. They are:

Setting Defaults to Should be
Opportunistic Locking On Off
Packet Burst Mode On Off
Server caches writes (this may be described differently) On Off
Optional setting (may slow the system down considerably so only use it if you are getting data corruption)
TrueCommit Off On

Some of these settings may not appear in the version of Client32 in use, since Novell have removed some of them in the interim. If the setting doesn’t appear, then don’t worry about it (much).

A sign, that Packet Burst Mode is on (and probably that all of the other settings are also incorrectly set) is Superbase 3.2, 3.5 or 3.6 (prior to the maintenance release builds 496 or later) coming up and saying “Product not registered”. We have had reports that turningTrueCommit on can result in extreme slowness on the network. If this is a problem, it may be worth testing with it turned off, and then checking to make sure that no file corruption is occurring under a reasonably heavy load. Obviously, all such testing should occur on a copy of the database and not on the original!

 ​  ​  ​
Windows 95, Windows 98, Windows Me, Windows NT 4.0, Windows 2000, Windows XP, Windows Vista, or Windows 7 (or later) using theMicrosoft client for Netware Netware Client has not been tested but is generally not recommended by Novell. If any settings would have to be changed, they are likely to also be buried in the registry somewhere, with the actual values unknown to everyone but Microsoft.
 ​  ​  ​
Windows 95, Windows 98, Windows Me, all versions of: Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 (and later) NT Server 4.0, Windows 2000, Windows XP, Windows Vista, or Windows 7 (or later) acting as a server, Windows Server 2003, Windows Server 2008 (or later) Server Settings
Data corruption appears to be caused by the opportunistic locking setting. To resolve this, the following change must be made to the registry on the server:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Services\LanmanServer\Parameters

It will be necessary to add the following value as it is listed below, with the proper data type and the value listed. Once these changes are made, the server must be restarted.

Setting Data Type Should be
EnableOplocks REG_DWORD 0

The default value of this parameter is 1 (true) and is set even if the parameter is not physically present in the registry. To disable it, the parameter must be added and set to 0.

Special Notes for Server 2008 and Vista or Windows 7 Acting as a Server
An additional parameter is required to make these systems work as expected, because they default to using SMB Version 2 when working with Vista or later clients, which ignores the above setting.

Setting Data Type Should be
Smb2 REG_DWORD 0

The default value of this parameter is 1 (true) and is set even if the parameter is not physically present in the registry. To disable it, the parameter must be added and set to 0.

This setting specifies whether the server allows clients to use opportunistic locking on files. Opportunistic locking is supposed to provide a significant performance enhancement, but is unsafe where client-side locking is involved and in the case of networked databases like Superbase actually can slow down database access! If you are using Superbase in LAN or Distributed LAN mode then this setting is required to set to 0 as shown above to prevent data loss. If you are using Superbase’s PPCS (Peer-to-Peer Client/Server), then it may be safe to leave this setting enabled, since only one application, the server, is writing to the data files. Still, there is no real advantage in leaving this setting enabled.

Client Settings for Windows 9.x or Earlier
If you are using Windows 9.x or earlier there are no additional client-side settings that are necessary.

Client Settings for Windows NT 4 Acting as a Workstation or Client
To modify the settings for NT Workstation, it is necessary to edit the registry, since Microsoft does not provide any method of configuring these options in their client setup. The registry key path is:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\LanmanWorkstation\Parameters

It will be necessary to add the following values as they are listed below, with the proper data type and the value listed (0 in all cases):

Setting Data Type Should be
UseLockReadUnlock REG_DWORD 0
Indicates whether the redirector uses the lock-and-read and write-and-unlock performance enhancements.When this value is enabled, it generally provides a significant performance benefit. However, database applications that lock a range and don’t allow data within that range to be read will suffer performance degradation unless this parameter is disabled.
UseOpportunisticLocking REG_DWORD 0
Indicates whether the redirector should use opportunistic-locking (oplock) performance enhancement. According to the documentation, this parameter should be disabled only to isolate problems. In the case of Superbase, it should be off. Opportunistic locking provides a significant performance enhancement, but is unsafe where client-side locking is involved. If you are using Superbase in LAN or Distributed LAN mode then this setting is required to be off to prevent data loss. If you are using Superbase’s PPCS (Peer-to-Peer Client/Server), then it may be safe to leave this setting enabled, since only one application, the server, is writing to the data files.
UtilizeNtCaching REG_DWORD 0
Indicates whether the redirector uses the cache manager to cache the contents of files. Disable this parameter only to guarantee that all data is flushed to the server immediately after it is written by the application.

Client Settings for Windows 2000, XP, 2003, Vista, 2008, Windows 7 – Acting as a Workstation or Client
To modify the settings for the Workstation service, it is necessary to edit the registry, since Microsoft does not provide any method of configuring these options in their client setup. The registry key path is:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\LanmanWorkstation\Parameters

It will be necessary to add the following values as they are listed below, with the proper data type and the value listed (0 in all cases):

Setting Data Type Should be
UseLockReadUnlock REG_DWORD 0
Indicates whether the redirector uses the lock-and-read and write-and-unlock performance enhancements.When this value is enabled, it generally provides a significant performance benefit. However, database applications that lock a range and don’t allow data within that range to be read will suffer performance degradation unless this parameter is disabled.
UtilizeNtCaching REG_DWORD 0
Indicates whether the redirector uses the cache manager to cache the contents of files. Disable this parameter only to guarantee that all data is flushed to the server immediately after it is written by the application.

Opportunistic locking is controlled differently in the newer versions of Windows than was done in Windows NT. The following registry key path is the location of the desired entry and that must be present and set to the associated value.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\MRXSmb\Parameters

Setting Data Type Should be
OplocksDisabled REG_DWORD 1
The OplocksDisabled registry value configures Windows clients to either request or not request opportunistic locks on a remote file.

Additional Notes for NT Workstation, Windows 2000, XP, 2003, Vista, and Windows 7

In addition to the possible changes required on the client settings, NT-based client machines have a special change that is required. This is because the NTVDM in these machines appears to represent remote drives as if they were local (at least to the Win16 subsystem). That causes Superbase to open all files in a special mode known as LOCAL. You can see this immediately if you open a file for RW/RW access interactively on a remote drive. In the title bar will be something like: Superbase – F:\myfile.sbf (L0). The L0 is an immediate giveaway that LOCAL mode is in use. In this mode Superbase opens all files exclusively, regardless of the requested open mode. To stop Superbase from opening the files exclusively on NT-based operating systems, add the environment variable SBLOCAL with the value NONE to the environment settings. This can be found in the System applet of the Control Panel on the Environment tab. Alternatively, you can place the entry in the SB30.INI file in the Superbase section:

[Superbase]
sblocal=none

It is also possible to use Superbase.LocalFileLocking = False in the Superbase program, but this setting should be made before any files are opened and should never be changed once the program is running.

The above information was compiled in part using the articles listed below, all of which are copyright Microsoft Corporation.


  • WFW 3.11 Clients Hang Accessing Windows NT Server
    Last reviewed: August 8, 2001
    Article ID: Q123029
  • Some Client Applications Fail When Writing to WindowsNT
    Last reviewed: August 8, 2001
    Article ID: Q124916
  • PC Ext: Explanation of Opportunistic Locking on WindowsNT
    Last reviewed: August 8, 2001
    Article ID: Q129202
  • REG: Workstation Service Entries
    Last reviewed: February 28, 2002
    Article ID: Q102981
  • REG: Server Service Entries, PART 1
    Last reviewed: August 6, 2002
    Article ID: Q102967
  • REG: Server Service Entries, PART 2
    Last reviewed: February 27, 2002
    Article ID: Q102969
  • How to Disable Network Redirector File Caching
    Last reviewed: June 11, 2002
    Article ID: Q163401
  • Configuring Opportunistic Locking in Windows
    Last reviewed: March 14, 2003
    Article ID: Q296264