最近在学习多层数据库的使用,遇到一些问题,请大家指教:
应用服务器:
1.建立一个新工程
2.在NEW ITEMS中的Multitier页中选取Remote Data Module
3.在远程数据模块中放置了Table1,DataSetProvide1,Sesson1并进行了相关的设置
4.编译客户端:
1.建立一个新工程
2.加入一个数据模块,并在数据模块中放置了DCOMConnerction1,DataSetProvider1,DataSource1并进行了相关的设置,但在设置DCOMConnection1中遇到了问题。问题是这样的:    如果应用服务器和客户端同在一台机子上运行时对DCOMConnection1的设置没有问题,在选择ServerName时也出现相应的项,如果使Connected为True也没有出错,但是如果把应用服务器程序放到别的机器上运行,并在DCOMConnection1->ComputerName中选择运行应用程序服务器的主机名,然后使Connected为True会出现一个错误框"RPC服务器无法使用",我把应用程序服务器放在2000下运行,再修改使Connected为True出现"拒绝访问",也不行。    这个问题搞了5,6天了,也看了关于这方面的书,也不知错在什么地方,请哥儿们指教。    另外也在CSDN上搜索了关于这方面的问题,也试了midas.dll也无果。

解决方案 »

  1.   

    dbclient.dll和midas.dll
    开始--运行---dconfig,DCOM设置,特别是登陆设置
      

  2.   

    首先,你的服务器程序在新环境中先要双击运行,也就是自动注册。
    其次,建议用SocketConnection1连接,在新环境(服务器)中运行scktsrvr.exe,如果没有,从你的机器上拷一个过去运行,看看SocketConnection1的端口和scktsrvr中的端口是否一致,你用Remote Data Module建议用SocketConnection1连接
      

  3.   

    这是由于本地不能解析服务的注册名称而造成的,两种方式:
    1.找到你用的中间件的GUID号,在程序中设定这个值,而不用SERVERNAME,就行了.
    2.在你的客户计算机上注册服务.
      

  4.   

    to robbot(曾记否)
        我把 dbclient.dll和midas.dll 进行了拷贝未见效果,在我的机子里无法运行dconfig因为没有这个程序,所以无法对DCOM设置。to huojiehai(海天子)
        你说的很详细,我根据你所说的使用SocketConnection很容易就成功了,在我试验的客户端程序上出现了数据,为什么使用DCOMConnerction不行呢?请再指教。如果使用DCOMConnerction无法解决的话,那就听取你的建议使用SocketConnection了。to vchoushen6(vc火神6号)
        在程序中对GUID进行了设置,但还是出现‘RPC服务器不可用’,以上是在客户程序运行在WIN2000,应用服务程序运行在WIN98的结果。如果应用服务程序运行在WIN2000上时,客户端出现‘拒绝访问’,如果GUID输入错误的话会出现‘类未注册’,请再指点。
        在对客户端进行修改的过程中对ComputerName中输入IP地址也无任何效果。
      

  5.   

    使用DCOMConnerction在自机上编译通过,发布时需要把做服务器的电脑的计算机名称修改了和自机相同,另外工作组名称好象也要一致。