情况紧急,三层高手快来救急啊。先送100分,解决后再送300分。(100分)

  • 主题发起人 主题发起人 huanghq123
  • 开始时间 开始时间
H

huanghq123

Unregistered / Unconfirmed
GUEST, unregistred user!
我目前开发了一个三层的系统。MIDAS的socket方式,分数据库端、服务端,客户端。采用MySql数据库。客户的数据库端、服务端在一台电脑上,安装好数据库后,再安装服务端,在服务端要设置和数据库的连接。客户的网络环境是局域网,目前的问题是,服务器端设置时需输入数据库机的IP或在网络中的标识,但总报告连接不上,只有用127.0.0.1才能连上。由于客户在另一个城市,我不可能过去,那位朋友知道如何解决呀。
在我公司内测试是没有问题的。
 
服务器和数据库间是怎样连接的?
 
使用计算机名字连接试试看看。
内网可能一定的VPN,或者屏蔽,要不你远程遥控了。私用WINVNC或者远程协助了。
 
ADO连接
连接字符串:
SqlConn= 'Provider=MSDASQL.1;Password=%s ;Persist Security Info=True;User ID=root;Extended Properties="DATABASE=esnp;DRIVER={MySQL ODBC 3.51 Driver};OPTION=0;PORT=0;SERVER=%s;UID=root"';
其中:Password=%s 数据库密码
SERVER=%s 数据库IP或机器名
 
TO 蓝叶菱,
用机器名也不行,我让客户试过了。您指的屏蔽是什麽意思,IP是可以PING通的。
 
内网的话用什么Socket.
用ADO不更好吗???
Socket还有启动Delphi的一个附属服务器。
 
TO fsse4000
我用的是三层当然得用Socket。
 
看你的软件是在互连网上跑,还是局域网中跑了!
如果是互联网,用Socket,可以,但是要启动Delphi自带的一个服务程序。
 
局域网,确实启动了服务socket server
 
管道。
你打开服务器计算机的GUEST用户。这样2003不允许外部访问。
登录输入密码,你的SA登录才起作用。主要的登录SA帐户问题。
 
to 蓝叶菱
是回答我的问题吗,什麽管道、2003。我的问题和2003有关系吗?
 
是不是防火墙的问题?端口的问题?你把局域网中的防火墙关掉或将端口设为80,不行的话再在服务器中将各客户机的权限设为administrator试试。
 
是啊,
我想你得问题是ADO 无法访问你得MYSQL数据得问题啊。你开启GUEST用户啊。试试啊。
要不就是楼上说得防火墙了。
管道,,我说错了,和管道无关。是MYSQL 啊。
 
127.0.0.1是自己呀
 
to 蓝叶菱,
应该和ADO没关系,因为我用127.0.0.1就能连通;
防火墙停掉也不行。
 
如果你设置其他的计算机的IP和127.0.0.1效果不同,
使用127.0.0.1和设成点一样,不能证明这个观点。这个IP环流根本不经过网络。
这个就是ADO的或者的,访问权限的问题了。就是你服务器机的权限问题,GUEST权限问题。
你说连接的ADOCONNECTION和数据库不在一台计算机上,ADO访问数据库机需要验证GUEST(计算机管理-GUEST来宾帐户)。
你可以使用中间件的计算机,来访问网络邻居数据库计算机的一个目录可能都打不开。

以上是我的见解,如果彻底不是,这个是我猜的。因为其他的问题不会有。

SOKECT访问基于TCP/IP,如果没有防火墙过滤,是能够访问中间件的。除非这个中间件没有注册。
对于中间件和数据库之间是简单的C/S模型。。。整个如果分离的话考虑的是ADO的登录问题。
杀毒软件的防火墙,路由的IP过滤,XP/2003本身防火墙。
 
应该是防火墙的问题
 
to 蓝叶菱
我现在是服务端连数据库,服务端和数据库都在同一台电脑上,它们之间通过ADO连接。这台机器是用管理员用户登录的。
 
啊,这样啊,问题就是组件注册的问题了。防火墙登录排除。
你有没有启动ScktSrvr.exe啊,
没有启动,你可以使用ScktSrvr.exe。本身可以调试的。你在GUID输入你的GUID号码,测试应用一下,看看是否正常啊。
要么你看看服务器的注册表有没有注册你的组件啊。
还有ADO连接的时候要使用动态连接。由于路径问题也会造成这种原因的。
 
>>服务器端设置时需输入数据库机的IP或在网络中的标识,但总报告连接不上,只有用127.0.0.1才能连上。
既然127.0.0.1能连上,而数据库又在本机,就这么连呀,还有什么问题?
 
后退
顶部