三层数据库的简单问题?在线等待!!!

kata520 2003-03-16 07:29:07
我做了一个三层数据库.
服务器端用的组件:TTable,DataSetProvider.
客户端:DCOMConnection,DataSource,ClientDataSet
操作系统:Windows2000和Windows2000或者Windows2000和WindowsXP
问题:
1.服务器与客户端都在一个机器的话,客户端可以找到服务器.
2.服务器与客户端不在一个机器的话,客户端不能找到服务器(也就是连接不上).
3.请高手或者以前有这方面经验的朋友论文一下.
还有另一个问题:
http://expert.csdn.net/Expert/topic/1536/1536723.xml?temp=.1710321
要是这两个问题都能解决我再给分.
各位帮帮我吧!我现在好急啊!
...全文
48 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
welcomezhang 2003-06-23
  • 打赏
  • 举报
回复
这是一个权限问题,保证两个机器上有同一个帐号并且密码相同就会连接上,或者连接之前登陆服务器机器再连接。最坏的问题是局域网有问题。
kataboy 2003-04-23
  • 打赏
  • 举报
回复
谢谢!
cuptbluesky 2003-04-23
  • 打赏
  • 举报
回复
scktsrvr.exe服务起来没?注意port和IP Address
scktsrvr.exe /install
kataboy 2003-03-20
  • 打赏
  • 举报
回复
TSocketConnect怎么样连啊????
yesry 2003-03-20
  • 打赏
  • 举报
回复
xx
kata520 2003-03-19
  • 打赏
  • 举报
回复
问题解决了!
谢谢各位的帮助啊!
不过我觉得DCOM好麻烦啊!
请大家说说用TSocketConnect这个怎么做好吗?
就是说要注意什么?
发布时要做什么?
服务器端和客户端都要做什么工作?
谢谢!
kata520 2003-03-19
  • 打赏
  • 举报
回复
我试试!
kata520 2003-03-18
  • 打赏
  • 举报
回复
我现在就是不会配置DCOM,还有就是我在设计期就连接不上了.
就是说,我在这边BCB中编了一个服务端(已经保存,注册了),
在另一个机器上做客户端,在设计期时就应该可以找到服务器,但我就是找不到!
请教!
hait 2003-03-18
  • 打赏
  • 举报
回复
1 首先确定你的客户端连接的是中间层的那台机器。
2 将你的服务器程序在那台机器上注册,即运行一下。并确认midas.dll在那台机器上的系统目录下存在。
3 如果是用dcom连接,那么配置dcom,使得客户端拥有调用的权限。
thingking 2003-03-18
  • 打赏
  • 举报
回复
你的client端应该使用静态编译,把linker 的use dynamic RTL前面的勾去掉
把 runtime packages前面的勾去掉,compiling...
RomanticProgrammer 2003-03-18
  • 打赏
  • 举报
回复
to kata:
客户段不需要。
kata520 2003-03-18
  • 打赏
  • 举报
回复
楼上大哥,是不是客户端也要一台一台的配置啊.要是这样做的话,我这边有几万个用户.
那.......
我不就得累死啊!
kata520 2003-03-18
  • 打赏
  • 举报
回复
关于动态连接库我想是应该没有什么问题的我现在不是打包,而是在编程期间就连接不上了。
还有我可能真的不太会配置这个DCOM,我按照别人的方法配置了很多次都不成功。
我真的希望大家能给我一个详细的步骤!
谢谢!
shuaigc 2003-03-18
  • 打赏
  • 举报
回复
你应该相信别人的建议:比如到客户断运行服务器。

配置有问题。你重新配一下(下面是我的配置,供参考摸索)。
客户端配置如下:
1. 先把服务器在客户端运行,系统会自动注册,然后点”开始”->”运行”,输入”dcomcnfg”,然后回车,启动dcom配置。
2. 常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。
3. 将常规页面中的身份验证级别改为“无”。
4. 身份标识页面中,选择“交互式用户”。
5. 位置页面中设好你的中间层的的机器。
6. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。



服务器端配置如下:
1. 运行NT服务器上的dcomcnfg程序,进行DCOM配置。
2. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。
3. 进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,如果不去掉EveryOne,应用服务器不能正常启动。
4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。
5.将常规页面中的身份验证级别改为“无”。
6.位置页面中选上“在这台计算机上运行应用程序”。
7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户列表中。
8.身份标识页面中,选择“交互式用户”。
9.NT的GUEST用户不能禁用。
RomanticProgrammer 2003-03-17
  • 打赏
  • 举报
回复
不管你的系统是什么,DCOM配置是必须的,否则是没有办法连上的。
其次,如果你的系统是XP,请把它自带的防火墙关掉,不然DCOM是无法连接成功的。
黑兵 2003-03-17
  • 打赏
  • 举报
回复
我估计,你的客户机和服务器用的不是同一个IP段,比如
192.168.0.1-192.168.0.255
DCOM所有用到的组件你都运行了吗?
黑兵 2003-03-17
  • 打赏
  • 举报
回复
你看看DNS配置。
DNS配置的越多,第一次连接越慢
黑兵 2003-03-17
  • 打赏
  • 举报
回复
midas.dll
sensapi.dll
没错,就这两个。
bertchen 2003-03-17
  • 打赏
  • 举报
回复
是不是 midas.dll 没有 copy to client
kata520 2003-03-16
  • 打赏
  • 举报
回复
客户端需要运行一次吗?
不用吧!
我还有听说过啊.
加载更多回复(8)

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧