如何在局域网上进行Midas的连接

xiaojianw 2003-01-09 09:13:40
我的AppServer和AppClient分别放在两台机器上,

但是在运行AppClient是老是出错
错误提示:CoInitialize()没有初始化!
加上ServerGUID后,还是出错
错误提示:无法创建终结点!

注:我在单机运行正常!

...全文
153 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
RomanticProgrammer 2003-01-10
  • 打赏
  • 举报
回复
哎呀,打了太多的错字,不好意思啊.:
都可用.但一般不要在中间层界面修改数据.如果有需要可用在中间层作一个客户端来操作数据.否则会违背三层的动机和意义.
中间层没有窗体都可以.
RomanticProgrammer 2003-01-10
  • 打赏
  • 举报
回复
to xiaojianw(钳工) :
都可用.但一般不要在中间层界面修改数据.如果又需要可用在中间层作一个客户端来从在数据.复杂会违背三层的动机和意义.
中间层没有窗体都可用.
xiaojianw 2003-01-10
  • 打赏
  • 举报
回复
可是现在服务器运行了,本地的客户端还是运行不了!(原来可以运行的!)
找不到服务器!
xiaojianw 2003-01-10
  • 打赏
  • 举报
回复
兰企鹅:
我还想问个问题,分不够再开贴子加!

在应用服务器端,进行数据库的操作,是直接在Remote data modal 中进行,还是需要另开data modal 加clientdataset?
xiaojianw 2003-01-10
  • 打赏
  • 举报
回复
你是说appClient里面看不到那个计算机上的DCOM服务器的吧!
我是在代码中写的!
BaseConn->ServerName ="NSAtmsSvr.RDMSignal";
BaseConn->Connected =true;

CDSSignalManger->RemoteServer=BaseConn;
CDSSignalManger->ProviderName ="ProSignalManger";
CDSSignalManger->Active =true;

CDSSignalBase->RemoteServer=BaseConn;
CDSSignalBase->ProviderName ="ProCrossBase";
CDSSignalBase->Active =true;


CDSTodayIssues->RemoteServer=BaseConn;
CDSAvgIssues->RemoteServer=BaseConn;

CDSTodayIssues->ProviderName ="ProTodayIssues";
CDSAvgIssues->ProviderName="ProAvgIssues";

CDSTodayIssues->Active =true;
CDSAvgIssues->Active =true;


这样行吗?还需不需要加ServerGUID?
warton 2003-01-09
  • 打赏
  • 举报
回复
不太懂midas在cb下的开发!!
RomanticProgrammer 2003-01-09
  • 打赏
  • 举报
回复
重新运行应用程序服务器注册.
2:在编译的时候如果用DCOM连接远程服务器(不在本机上),哪appServer里面看不到那个计算机上的DCOM服务器的.
xiaojianw 2003-01-09
  • 打赏
  • 举报
回复
upup
invalid 2003-01-09
  • 打赏
  • 举报
回复
CoInitialize()没有初始化!那你就调用CoInitialize()进行初始化啊。
xiaojianw 2003-01-09
  • 打赏
  • 举报
回复
你说的是在编译环境下连远程服务器吗-------是呀!


求救!!
另外,我的AppServer 作了备份,现在的AppServer 改坏了,用备份恢复后,就不能运行了,可能是该的那个AppServer重新注册了类,怎么才能将已经注册过的类删除呢?
RomanticProgrammer 2003-01-09
  • 打赏
  • 举报
回复
1:把应用程序服务器编译产生的*.tlb文件拷贝到客户端,用RegSvr32.exe注册.
2:你说的是在编译环境下连远程服务器吗?
xiaojianw 2003-01-09
  • 打赏
  • 举报
回复
up
xiaojianw 2003-01-09
  • 打赏
  • 举报
回复
up
xiaojianw 2003-01-09
  • 打赏
  • 举报
回复
RomanticProgrammer(兰企鹅||南极俺最帅):
1、 怎么在客户端注册服务器的lib呢?
2、在客户端,可不可以不是用ServerGUID,而只用ServerName行不行?
另外,有CB Midas好的电子图书吗,介绍几本吧!
RomanticProgrammer 2003-01-09
  • 打赏
  • 举报
回复
一:如果你是用DCOMConnection连接的:
是你的DCOM的配置有问题...
在MIDAS中间层正确配置DCOM服务器,并在客户端注册服务器的lib.还有,客户端要有MIDAS.dll,把它考到客户端的系统目录下面.
DCOM的配置过程如下:
0.默认属性把 "默认模拟级别 "设为 "标识 ",默认安全机制中全部加入 :administrator;默认协议为 "面向连接的TCP/IP ";
1.把应用程序服务器和MIDAS.dll打包到服务端.用TRegSvr.exe注册MIDAS.dll,(客户端不需要着用手动注册midas.dll,但服务端需要);
2。执行应用程序服务器一次以注册应用程序服务器。
3。使用DCOMCNFG设置应用程序服务器,将身份验证级别设定为‘无’(或者'连接',或者'默认').
4.并且把访问权限和启动权限设置为fengfeng就可以让客户端用户fengfeng访问和启动应用程序服务器,配置权限中加入administrator和fengfeng。(客户端用户名和密码都必须和服务端相同)
5.位置选择 "在这台计算机上运行改程序 ";
6. "身份标识 ":指定用户,administrator或者fengfeng(power user);
7: "终结点 ":添加 "面向连接的TCP/IP "和 "面向连接的NetBEUI ";

////////////////////////
二:如果你是用Socket连接起来的.(既然你说在同一台计算机上运行是正常的,我想不是这种情况)
是你用Vtable的方式调用了COM接口.

1,317

社区成员

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

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