MORE INFORMATION
NOTE: When you encounter connectivity problems in Netware, it is always beneficial to make sure that you are using the latest client software available from Novell.
When you troubleshoot connections to SQL Server, the best tool to use is
ISQL/w. This tool will provide informative native error codes relating to
the specific network library that is being used. Normally a connectivity
error will generate a GUI error message in ISQL/w. At the top of the
message box will be the following:
Error: 10004 Sev: 9 State: 0
Unable to connect. SQL Server is unavailable or does not exist.
Consult your documentation for more information.
Beneath this message will be a stop sign. Below the stop sign will be an OS
error. Record this value. To the right of the OS error will be the function
call being used at the time. Usually we will see the application calling
function and the network library specific function within that. For example:
OS Error: 252 Connect(ReadPropertyValue())
Here are several of the most common errors that occur when you connect to a
SQL server on a Novell network, a brief description, and some possible
solutions:
========================================================================
Error:
OS Error: 11 AttachtoFileServer()
Description:
This message is most commonly seen from 32-bit NT clients that are using
Novell name resolution to connect to SQL Server. If a direct connect is
attempted, OS error 10047 might occur. Error 10047 is a Windows Sockets
error that means that a request for a socket not supported by the protocol
was made.
Possible solutions:
The NWLink IPX/SPX protocol is not bound to the NT workstation service.
Remove and re-install the NWLink protocol.
========================================================================
Error:
OS Error: 252 Connect(ReadPropertyValue())
Description:
ReadPropertyValue() is the Netware API call used to scan the bindery on a
Netware server for a specific object. 252 means that no such object exists.
In order to provide name resolution on a Novell network, SQL server
broadcasts a Service Advertisement Protocol (SAP) message every 55 seconds
that contains its service name (configurable in the SQL Server Setup
program) and its unique network address. This information is stored in the
bindery of every Netware server that hears the broadcast.
16-bit SQL clients scan the bindery on their preferred server for this
information. 32-bit clients broadcast a SAP requesting a Netware server and
every server that hears the request responds. The client will connect to
the first server to respond and scan the bindery on that device.
If the broadcast does not make it to the Netware server being used by the
client, this error will be raised.
Possible solutions:
- SQL Server is not started, or is not listening on IPX/SPX. Use the SQL
Server Setup utility to check network support. Verify that the NWLink
IPX/SPX option is selected. Then use the SQL error log or the Event
Viewer to examine the Application error log to check for a successful
start on IPX/SPX. During the startup of SQL Server, you should see the
message:
Using SSMSSP60.DLL to listen on "service name"
where "service name" is the Bindery Service name you have configured for
SQL server. This name, by default, is the same as the NT computer name
but it is configurable.
- The Netware server that the client is connecting to is not receiving the
SAP broadcast from SQL Server. The most common reason for this problem
is that a router between the SQL Server and the Novell Server is
filtering SAPs. The SAP id for SQL server is type F503. You should be
sure that your routers provide SAP forwarding for this type.
- If the client is a 32-bit client, it might have attached to a remote
server or a device that looks like a server but has no bindery.
When the 32-bit client broadcasts, it requests all Netware servers on the
network and all servers respond. In addition to this, all routers respond
with the servers listed in their Router Information Table. If the router is
the first device to respond, the client will attach to the first server in
the list. This server might be a remote server on the far side of a WAN and
therefore not receiving the SQL SAP (see number 2 above).
The first device to respond might be a non server. There are many devices
available on the market today that provide CD-ROM services or print
services that, for ease of installation, are designed to look like Netware
servers to the rest of the network. Some of these devices might not
maintain a bindery and therefore cannot provide name resolution. If your 32-
bit client connects to one of these devices, a ReadPropertyValue 252 error
will be raised.
You should use a protocol analyzer to determine the device that your 32-bit
client is connecting to and then you can determine why the SAP is not there.
========================================================================
Error:
OS Error: 0 SPXInitialize()
Description:
Any application that uses SPX must first initialize SPX using the
SPXInitialize() function. A return code of 0 means that SPX is not
installed on this node. The majority of communications on a Novell network
takes place using IPX or NCP; the SPX protocol is rarely used. For this
reason, Netware provided the capability of optionally not loading SPX at
the time of startup. This will save conventional memory on the client. In
order to prevent SPX from loading when running Netware, use the /a switch
when you start ipxodi.com.
Possible solutions:
- If in the course of starting your Netware software you are executing
IPXODI /a, you should remove the /a switch in order to allow SPX
services to run.
- If you verify that IPXODI is not starting with the /a switch, but you
are still getting the SPXInitialize error 0, try connecting to SQL
Server from DOS. Load the SPX Terminate and Stay Resident program
Dbmsspx.exe and run* isql -S (servername) -U (userid) -P (password). If
this connection fails with the same error, SPX is not available in DOS
or Windows and you should contact your primary support provider for
Netware.
If this connection succeeds, then you have verified that SPX services are
available in DOS but not in Windows. This might be a problem with old or
incompatible drivers in Windows. Make sure you have the latest available
Windows components for Netware installed on the client.
========================================================================
Error:
OS Error: 254 IPXOpenSocket()
Description:
Generally seen on 16-bit clients.
The Windows-based client Net-Libraries use one IPX socket per connection
and one to three SPX sessions per connection.
This error means that the total number of available sockets have already
been used.
Possible solutions:
To achieve the maximum number of connections, set the IPX Sockets parameter
to 32 and the SPX Connections parameter to 96 in the Novell Net.cfg file.
========================================================================
Error:
OS Error: 237 SPXEstablishConnection()
Description:
Generally seen on 16-bit clients.
SPXEstablishConnection means SPX_NO_ANSWER_FROM_TARGET. This can occur due
to hardware failure or if the client application uses SPXAbortConnection.
If a client attempts a connection with SQL Server and the server is
unresponsive during this function then error 237 can be raised.
Possible solutions:
Using the wrong frame type can cause this problem to occur. The frame type
for Novell clients are generally set in the Net.cfg file. This file usually
resides in the same subdirectory as the rest of the Netware client drivers
(Lsl.com, Ipxodi.com, and so forth).
On the NT server where SQL Server resides, go to a command prompt and type
"IPXROUTE CONFIG". Note the frame type that the server is using and set
that value in the Net.cfg file.
Also, if the client is Windows for Workgroups, the frame type can also be
set for the IPX/SPX Compatible transport in the Network setup for the
client.
It has been observed that if the Net.cfg file has the proper frame type set
and the IPX/SPX Compatible Transport does not, this error can occur.
========================================================================
Error:
OS Error: 250 SPXEstablishConnection()
Description:
Indicates a problem with hardware.
Possible solutions:
Try using a newer version of the driver for your network card and loading
the latest DOS/Windows client from Novell.
========================================================================
Error:
OS Error: 253 SPXListenforSequencedPacket()
Description:
Generally seen on 16-bit ODBC clients on SQL Server 6.0.
A packet overflow has occurred.
========================================================================
Error:
OS Error: 237 SPXListenforSequencedPacket()
Description:
SPXListenforSequencedPacket is used for receiving data to the SQL client.
This is an asynchronous function that delivers an ECB address and the
buffer space it identifies to SPX for the purpose of receiving a sequenced
packet.
Error 237 translates to "SPX Connection Failed".
Possible solutions:
The most common reasons for this error are unstable network platforms or
out-of-date files.
If this error occurs, the first step in trouble shooting is to obtain the
latest DOS and Windows drivers from Novell and install them.
If this does not resolve the issue, make sure you are on the latest service
pack for the NT server platform you are running.
If an application sends and receives continuous streams of data, and the
network is saturated or having excessive traffic collisions, try to isolate
traffic to a minimum to see if the situation subsides.
In some cases, 16-bit ODBC applications that use Access's Jet data engine
can receive this error. If this is the case, make sure you are using the
latest version of Jet (available through service packs). In addition, you
can try configuring the Jet engine to use synchronous connections by
editing the application's INI file or the Access INI file (Msacc20.ini).
Create a section as follows if it does not already exits and enter the
string shown:
[ODBC]
DisableAsync=1
Make sure the INI file is in the Windows\System directory. This will keep
the Jet engine from executing continuous ConnectionCheckforData commands
that can sometimes cause timing problems with the Dbmsspx3.dll.
For additional information, please see the following article(s) in the
Microsoft Knowledge Base:
122927
: WX1124: Microsoft Access Version 2.0 Service Pack
========================================================================
Error:
OS Error: 238 SPXSendSequencedPacket()
Description:
SPXSendSequencedPacket is used for sending data to the SQL Server. This
function delivers a connection ID and an ECB address to SPX for the purpose
of sending a sequenced packet.
Error 238 translates to "Invalid Connection".
Possible solutions:
The most common reasons for this error are unstable network platforms or
out-of-date files.
If this error occurs, the first step in trouble shooting is to obtain the
latest DOS and Windows drivers from Novell and install them.
If this does not resolve the issue, make sure you are on the latest service
pack for the NT server platform you are running.
If an application sends and receives continuous streams of data, and the
network is saturated or having excessive traffic collisions, try to isolate
traffic to a minimum to see if the situation subsides.
In some cases, 16-bit ODBC applications that use Access's Jet data engine
can receive this error. If this is the case, make sure you are using the
latest version of Jet (available through service packs). In addition, you
can try configuring the Jet engine to use synchronous connections by
editing the application's INI file or the Access INI file (Msacc20.ini).
Create a section as follows if it does not already exits and enter the
string shown:
[ODBC]
DisableAsync=1
Make sure the INI file is in the Windows\System directory. This will keep
the Jet engine from executing continuous ConnectionCheckforData commands
that can sometimes cause timing problems with the Dbmsspx3.dll.
For additional information, please see the following article(s) in the
Microsoft Knowledge Base:
122927
: WX1124: Microsoft Access Version 2.0 Service Pack