- 工作组在不同的网段连接不上问题的解决方法?
-
发布时间:2010-12-02 09:32:32
发布时间:2010-12-02 09:32:32
1、 首先需要确认不同网段的机器之间相互能够PING通,而且都需要安装IPX网络协议 Document:
然后修改NGSERVER.TXT文件
把"-x TCPIP" 改为 "-x IPX"
重启数据库服务
在客户端安装时,SERVERNAME 填写数据库服务名,网络协议选择“IPX”
原理:
数据库服务器的服务名通过IPX协议搜索,而IPX是独立于通过IP地址所设置的不同网段
所以,这样设置就能在不同网段间进行数据传递。
2、先备份一台同网段正常安装的客户端注册表中PUBDATA文件,导入到不同网段所要安装的机器中,然后会发现其中有一项TCPIP{},将其改为:
TCPIP{host=server_ip_address;port=port_number},或导入PUBDATA后直接进数据源中进行配置,tcpip打勾,后面加上host=server_ip_address;port=port_number,前提能前安装过同类数据源时没有非法删除过,否则必须重安一次数据库管理器。
3、是否指定各站点IP地址(不要自动获取)!指定的IP地址是否在同一网段!
尝试使用IPX或NETBIOS协议!
4、试试看这样行不行:(未测试)
在NGServer.txt文件中
-x tcpip 改为 -x tcpip{MYIP=192.168.0.2;port=2058}
然后重启数据库服务
在客户端连接时可采用IP地址连接
或
在ODBC配置中NETWORK一页下面的
TCPIP一项,文本框中填入:"Host=192.168.0.2;port=2058"
5、如何将不同网段或拨号环境下的客户端连接到ASA服务器
"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
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 ...
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.