三层分发的问题,好心人来帮帮忙(300分)

  • 主题发起人 主题发起人 canna
  • 开始时间 开始时间
C

canna

Unregistered / Unconfirmed
GUEST, unregistred user!
最近,在单机上用MIDAS完成一套企业管理系统,(win2000server+sql server2000+delphi5),
使用DCOMconnect连接。开始在网络上测试时,出现了一系列问题。
仔细阅读了李维的书,也未完全解决。
查阅了DFW以前的帖子,这些问题虽然问得很多,答案很多,但竞没有确切的
解决方法。将问题列出如下,请好心人帮助解决,先谢谢了。
使用DCOM
1。"拒绝绝访问"。 经看李维的书,逐步解决。但是什么原因,还不清楚。
2。"interface not supported。" 1 问题解决后,又出现这个问题。无论怎样,都无法解决。
3。"没有注册类别" 有时又出现这个问题。
十分无奈,于是使用socketconnect,发现也有问题:
在客户端的host填入后,servername中未全部列出应用服务器中的所有服务,正好我的
服务器未列出!
望高手耐心指教!
 
用DCOM就是比較羅唆點,
問題2的原因是client沒有啟動Appserver的權限,要在裝AppServer的NT上建用戶
問題3是client沒有安裝Appserver端匯出的資料
=======
如果你對安全性的要求不是十分高的話,建議改用Socket連接,省事很多
client什麼動作都不用做,copy一個 exe就可以了
 
1、重新编释你的服务器;
2、检查你的服务器;
 
up
http://forum.vclxx.org/
 
to luyear:
谢谢!
我的APPSERVER在NT4上,在使用socket连接时,点击socketconnect的host
的属性按钮,选择了appserver的机器名,在servername的下拉选项里却没有
我的appserver。而我的appserver已在该NT4上编译运行过了。
是不是还有注册之类的事没做?
“copy一個 exe就可以了”的exe是哪个exe?
再请指点!
 
用模板 remote data module 重做appserver试试
 
to ll_yybb:
我用的是 remote data module做的appserver
 
你用IP地址呀:自己输:)
 
Sockectconnect连接我已解决,dcom问题无法解决,就不用算了。
 
看看这吧,http://www.delphibbs.com/delphibbs/dispq.asp?lid=689629
应该可以解决你的问题。
 
在用DCOM时你要考虑权限的问题,首先你要保证CLIENT端可以直接访问SERVER端(一般是有信任关系);
在SERVER中用MTS工具注册组件;
 
“一般要有信任关系“这点十分重要的,否则,问题来了……
 
用MTS做很方便的!前提是客户端有权限访问
 
客户端 注册
运行 server.exe ,regsvr32 ......随你便

 
Sockectconnect
中间层的方法
Variant参数的VarType
丢失
//d6 update2 依然未改

 
哈,这几个问题今天偶刚解决,答案如下:
1.“拒绝访问”为client段权限不够,可在server段用dcomcnfg命令配置一下,把server的
权限付给erveryone.
2."interface not supported"及"没有注册类别"都是server及client没有注册好,你可以
用borland的tregsvr重新注册一下。但是最重要的是:重新注册前必须先把原来的unregisted
掉,也是用tregsvr,参数-u。再重新注册,再用dcomcnfg把server段的权限付给everyone,
即ok!!
 
我也有这个问题,但是不知道如何解决?
按照Flex的解决方法,
还是会出现:异常 EOleSysError 类没有注册 的错误。
不知道是何种原因呢?
另外,我不知道Client端如何注册呢?
好像只是需要拷贝Midas.DLL就可以阿。
以前我有作过Access的,也是三层,但是没有这个问题,很容易就通过了。
现在是使用SQL SERVER2000 ,不知道是不是这个问题?
请各位大虾支招!
 
把应用服务器放到客户机运行一遍,让它注册一下.
 
“copy一個 exe就可以了”的exe是哪个exe?
是指server.exe 。使用socketconnect,需要在AppServer中启动它!
-------
使用DCOM时,
先将server程序在client机子上运行一边进行注册,
client机子要用管理员权限登录。(如win2k是administrator)
一般不会有什么问题,最后需要的话,再配置DCOMCNFG!

 
客户端是不需要进行注册的!
------------------------------------------------------
一、添加用户
1.在服务器(装有win2000和delphi6.0)上添加用户:administrator,lgf,lxy,lyh
2.在客户机(装win2000或win98均可,无需delphi)上也添加用户:administrator或
lgf或lxy或lyh
切记:服务器和客户机上都要有某用户,若有密码的话,连密码都要一样,否则
会出错的
二、配置服务器端
1.找到在/winnt/system32目录下的文件dcomcnfg.exe,运行之
2.对默认属性作如下设置:
选中"在这台计算机上启动DCOM Intenet 服务";
3.对默认安全机制作如下设置:
a.默认访问权限:编辑默认值,将用户Administrator,lgf,lxy,lyh添加进去,
如果不想逐个指定的话,也可以只添加:Everyone。
b.默认启动权限:编辑默认值,用同样方法将用户Administrator,lgf,lxy,lyh
也添加进去,如果不想逐个指定的话,也可以只添加:Everyone。
好了,大功告成了!现在重启计算机(注销也行),以用户Administrator或lgf
或lxy或lxy登录,切记,只能是上述用户之一!!!
四、生成服务器端程序
1.用delphi编译demos/midas/empedit目录下带的实例:server,生成server.exe
2.用资源管理器找到server.exe,运行一下,即所谓的注册,现在,服务器应用程序
的路径指向:/Borland/Delphi6/Demos/Midas/EmpEdit;如果你将文件server.exe复
制到另一个目录,然后再运行一下,那么,服务器应用程序的路径将指向该目录。
所以需要注意的是,不要将服务器端程序随手放在桌面(/Documents and Settings/
Administrator)上,否则当你用lxy或lgf登录时,因为没有权限进入该目录,所以
在本机都运行不了,更别说客户机了。
五、生成客户端程序
1.用delphi编译demos/midas/empedit目录下带的实例:empedit
2.需要注意的地方:ServerName要选正确了;ComputerName选计算机名或ip地址均可
六、运行客户端程序
1.将生成的文件empedit.exe复制到各个客户机
2.重启客户机(注销也行),以用户Administrator或lgf或lxy或lxy登录
3.在客户机运行程序empedit.exe,啊,成功了
4.切记,如果用其它用户名登录,运行程序empedit.exe,一定死翘翘的。
总结:
1.当我们要写第一个midas程序之前,首先在服务器和客户机上添加Administrator,
lgf诸如此类的用户。并且要在服务器端运行/winnt/system32/dcomcnfg.exe配置一
下,(从此以后,你不用再和它打交道了)
2.提醒一下,如果使用win98作为客户端,千万不要忘了将midas.dll复制到客户机
的windows/system目录下(书上这么说的,但我觉得将midas.dll和客户端程序放在
同一目录,会更保险些)。
题外话:
鄙人初学midas,遇到许多困难,有时真的很烦。所以希望同道中人少走弯路,
仅仅如此
--------------------------------------------------------------------------
帮个小忙!!
 
后退
顶部