今天开始搞三层连接却一直出问题,我的步骤如下,但客户端socketconnection打时就提示"服务器运行失败"
我的scktsrvr.exe也启了,在控件面版也能看到我注册的DCOM服务,我是同一台机器上编写客户端程序的,也就是服务端跟客户端
在一台机器上,这应该没什么问题!
我把步骤贴出来,请教大家一下:
应用服务器的编写:(1)新建一个工程(这一步我是“File”“New”“application”,然后把自动生成的单元文件删除);(2)点击“File”“New”“Other”,选择Multiter页标签的Remote Data Module(3)设置CoClassName(例:输入TestServer),点击OK就会进入Remote Data Module编辑框(4)在编辑框中可以添加任何与数据库相连的组件,既然你的机器上装了sql server ,你就可以 添加一个ADOConnection和ADOTable,进行数据库的连接设置。这里我要提醒一句,就是在用ADOConnection连接数据库的时候,最好把登陆数据库的密码保存下来,并且ADOTable1.active不要设置为True!!!然后再添加一个DataSetProvider1(在Data Access页中),并将其DataSet设置为TADOTable1.(5)编译运行此程序,就算注册了客户端的编写:(1)新建一个工程文件(2)在其中添加SocketConnection1(在DataSnap页中),将它的Host设置为你的应用服务器所在的机器名,在ServerName的下拉列表框中选择应用服务器的名称,port默认为211(注意:TSocketConnection靠的是TCP/IP协议进行通讯,所以要在应用服务器端需额外运行Scktsrvr.exe程序,该程序在..\\Borland\Delphi6\Bin目录里)(3)然后添加一个ClientDataSet1(在Data Access中),将其RemoteServer设置为SocketConnection1,将PorviderName设置为DataSetProvider1,(4)再添加一个DataSouce1和一个DbGrid1,将DataSouce1.DataSet设置为ClientDataSet1,DBGrid1.DataSource设置为DataSource1(5)在FormCreate中编写代码如下:  procedure TForm1.FormCreate(Sender:TObject);  begin      SocketConnection1.Connected:=True;      ClientDataSet1.Active:=True;  end;