关于C/S编程中的问题?(100分)

  • 主题发起人 主题发起人 浦欣
  • 开始时间 开始时间

浦欣

Unregistered / Unconfirmed
GUEST, unregistred user!
我刚开始学C/S编程,在调试中遇到下面的问题:
Server:
通过新建Remote Data Module , CoClassName为TCar,Data Module 中包括
Table1,DataSetProvider1;
Client:
DCOMConnection,其属性ServerName为Project1.TCar
ClientDataSet,属性RemoteServer为DCOMConnection;属性ProviderName
为DataSetProvider1;
我在服务器上运行程序没问题,但将Client的程序拷到装有DCOM95的Win95工作
站上就提示“类没有注册”;
我直接将Server端程序拷到Win95工作站上编译、注册,再运行程序,又提示
“无效的别名”;
我不知道是哪儿的问题,请各位大虾指教。
 
首先这不是C/S,是三层了

回答你的问题:
应用程序服务器需要在客户端注册,注册方法不是编译,而是在客户端运行一下。
另外,注意客户端设置的服务器名是否正确。DCOM需要用户级访问
 
>CJ
请说详细点,我第一次做这种程序,很多东西不会。
你说的在客户端运行一下是指Server还是Client程序?
另,我用的是SQL7.0,但SQL7.0我还不会,只会简单的新建、修改数据库;我对NT
也只知皮毛,请问如何设置用户级访问?是不是用在system目录下的DcomCnfg.exe
 
以前的C/S程序,我一直用 Delphi 的 TDateBase TQuery TUpdateSQL,
可方便的连接任何数据库!
最近用了Delphi5,开始用TADOconnect, TADOQuery连接MsSQL7

好象用不到DCOMConnection!

但TADOQuery的性能能否超过TQuery+TUpdateSQL,有待验证!(比如表的锁问题)

 
g:CJ

你要把Server程序在服务器上运行一次(this is 注册。
~~~~~~~~~~~~~~~~~
客户程序的Host机器名。)另外,还要注意
~~~~~~~~~~~~~~~~~~~
客户端设置的服务器名是否正确。
 
>OopsWare
请问如何用TDateBase TQuery TUpdateSQL,做C/S?
另:
我发现用ClientDataSet后,好象不能使用SQL了,怎么办?
 
这是我在使用中的一些错误,请各位大虾指点:
1、我在Win95客户机上注册后,运行Client出错(提示非法操作),
提示如下:
Exception EOleSysError in module CLIENT.EXE at 00051879.
OLE error 80070775.

Exception EOleSysError in module CLIENT.EXE at 00051879.
RPC服务器不可用。

2、如果我在NT上做好Server,直接在Win95客户机上做Client,设置DCOMConnection
没问题,在设置ClientDataSet的ProviderName属性时出错,提示“Interface
not Support“或"OLE error 80070776”或“RPC报务器不可用”
 
>>请继续
 
为什么没人理我?
是不是分太少,我可以再加200分!
 
再加200分!共500分!
 
Server程序必须注册,你没有注册
 
run the copy of your program.
and use dcom95 or winnt 4.0 or later ,
or use win98.
 
我已在客户机上运行了程序,应该已经注册,为何还出现上面的错误提示!
 
win95好象不支持,您必须升级(我们试的结果是升级后也不行,后来我们全装win98了).
另外,您还要把用到的DLL COPY到客户机上.我们做的MADIS(ACTIVEX)
就是这样作的,现在还可以,只是有时会死机(we use Oracle and Socket).
 
dcom98 or winnt4.0
 
“无效的别名”好象是数据库的错误,查查数据库的连接有无问题。
 
如用delphi4,客户端程序除注册外还要有dbclient.dll和stdvcl.dll。DCOM连接问题多多。
不如用socketconnection。
 
socketconnection好象是发送字节的控件
 
浦欣:
这名字好熟啊。是银行的哪个,
 
后退
顶部