谈谈‘前台、中间层、后台三者是如何连接的’
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
谈谈‘前台、中间层、后台三者是如何连接的’?
最近用户总是出现前台时常进不去的现象或中间层与后台出现‘连接失败’的问题,针对此类问题,先来谈谈‘前台、中间层、后台三者是如何连接的’。
一、三者的总体连接图是这样的:
客户端(client)----------- 中间层(appserver)----------- 后台(dbserver)
客户端通过中间层的数据库服务器名去调后台数据库,从而在前台才能选择账套。
1、客户端与中间层是如何连接?
客户端是通过TCP/IP来访问中间层的,中间层的正常启动依赖于SOCKET的正常启动,中间层与SOCKET 必须在同一台机器上,中间层服务程序与前台或后台均可不在同一台机器上;在前台出现账套的界面上的‘选项’按钮中的‘中间层’是指中间层服务器所在的机器名,中间层服务程序中所指的‘数据库服务器名’是指安装SQL SERVER数据库的机器名。
2、中间层服务程序与后台是如何连接的?
中间层与后台的连接是通过SQL客户端服务程序来连接的,如果中间层与数据库服务器在一台机器上不必安装客户端服务程序了,如果中间层与数据库服务器不在同一台机器上,需要在中间层服务器所在的机器上安装SQL客户端服务程序,如果没有也可以安装一个MSDE也行。
二、常见问题的解释
假设1:客户端的机器名为: cw1,中间层与数据库在同一台机器上,机器名为:server1
1、问:在进入前台时提示:Windows socket error: 由于套接字没有连接并且 (当使用一个 sendto 调用发送数据报套接字时) 没有提供地址,发送或接收数据的请求没有被接受。 (10057), on API 'connect'?
答:因为软件的报错是很有规律的,在第一次与SOCKET进行连接时就连不上的话,报错会是中文的,如果已经连接上了,在接收数据的中间是不检测连接的,如果中途断掉的话,可能是网络不稳定造成的,软件会很有规律的报英文的错误。现在报的是英文错误,很有可能是因为在前台与中间层第一次连接上后,在使用中由于网络的不稳定性,中途又断掉,应该是网络的不稳定性造成的原因。
2、问:cw1进入时提示:‘无法与中间层连接’?
答:server1上的socket没有启动。
3、问:cw1进入时提示:‘无法与后台数据库连接’?
答:这种问题一定是出现在中间层上,发现是中间层数据库的用户名输入的密码不对。
假设2:客户端的机器名为: cw1,中间层在cw1上,数据库服务器的机器名为:server1
1、问:cw1进入时提示:‘无法与后台数据库连接’?
答:这种问题一定是出现在中间层上,发现是中间层设置都对,但该机没有安装SQL客户端服务程序,安装msde便可。
2、问:cw1进入时提示:‘无法与中间层连接?
答:检查中间层设置一切正常,中间层与后台可以正常连接,在cw1上安装MSDE2000仍不起作用,但cw1上的BDE打不开,重装BDE便可。
3、问:cw1重做系统后,机器名修改为cw2,但该站点始终连接不上中间层?
答:这种问题很有可能是cw2的BDE的问题,请重配一下BDE,将MSSQL类的database的servername 改为‘server1’,保存后,后能否用设置好的用户名访问这个database driver。
三、总结
前台与中间层和后台连接不上时请检查以下项目:
能否PING通中间层服务器,数据库服务器;客户端的BDE是否能正确配通;中间层本身的设置是否正确;SOCKET是否正常启动;中间层服务器是否装有SQL的客户端服务程序;SOCKET的端口是否初防火墙之类的软件封掉了。