"Unable to start, server not found" - Client/Server on different subnets (network router used) or Dialup Connection
SUMMARY:
Document ID:
TBA
Last Revised:
06/15/1998
Topic:
Document Type:
TechNote
Product:
Sybase SQL Anywhere
Version:
5.x
Platform:
PC
Operating System:
Windows NT / 95
Document:
Symptom:
User can ping the server, can map a drive to the server machine, can access files that are located at the server machine. However, cannot connect from client machine to the database server. This problem can cause the following error message: "Unable to start, server not found"
Cause:
The server and the client machines are in different subnets (There is a network router between the two machines) or the user is connecting to the server using a Dialup connection, such as ISP.
This is strictly a network design issue.
Solution:
If you are allowed to merge the subnets, follow Solution 1. Otherwise, follow Solution 2.
Solution 1 - For all network protocols
Put the server machine and the client in the same subnets (which means a change of network design).
Solution 2 - Specify server address, only for TCPIP and IPX
For TCPIP:
Obtain ip address of database server machine : server_ip_address
If the default port number for the SQL anywhere database server has been changed (default is 1498), obtain the port number being used : port_number
On the Client:
1) The database server name specified in the command line is case sensitive, make sure that the case used to specify the server name in client and server machines match.
i.e. On the server: Dbsrv50 –n –x tcpip SADEMO?.
On the client: Dbclient –x tcpip SADEMO
2) Specify host= parameter (This is specially requiered if connecting to a Netware Server).
3) If the default port number at the server has been changed, you will need to specify port= parameter
4) Specify the IP address of the Client, using the MYIP = parameter (ClientIPAddress)
dbclient –x tcpip{Host=server_ip_address;port=port_number, MYIP = ClientIPAddress} db_server_name
On the server, the start command line should be :
dbsrv50 –n db_server_name –x tcpip
Additional parameters may be required such as MYIP if sever has multiple network cards, or port= if the default port used by the SQL Anywhere is not free. The default port is 1498. For example:
dbsrv50 –n db_server_name –x tcpip{MYIP=server_ip_address;port=port_number}
For IPX running on non-Novell environment:
Determine the IPX address of the server:
Starting from SQL Anywhere version 5.5.03 onwards, one can capture the ipx address of the server machine by starting up the database server with a –Z switch :
What follows is a portion of this output using 5.5.04. Notice the line specifying Node Address: (0:160:36:204:96:148). This is the IPX address of the server.
11:40:33 Trying to start IPX link ...#p#分页标题#e#
11:40:33 Loading wsock32.dll
11:40:33 Trying to read property value of sademo
11:40:47 Bindery scan return code: 0
11:40:47 Sending broadcast
11:40:52 No broadcast reply received
11:40:52 No broadcast reply received
11:40:52 Server address: Socket: (18496), Node Address: (0:160:36:204:96:148), Network address: (0:0:0:2)
11:40:52 Threads started: 2
11:40:52 IPX link started successfully
Client can connect to database server using the following command line:
dbclient –x ipc{Host=ipx_address}
A brief description of the problem:
The client machine cannot locate the database server just by server’s broadcast, or because the client and the server machine are in different subnets, client cannot receive server’s broadcast of existence, and so client thinks that server doesn’t exist.
评论 {{userinfo.comments}}
{{child.content}}
{{question.question}}
提交