主题:【求助】如何注册服务器的DCOM组件,发布这个服务器
参考:<<多层数据库应用程序开发>>一文
写了:两个程序 客户端/服务器本机运行良好,但 发现无法在其他机器运行和
进行连接不知道如何安装发布这类程序!和注册
"[RemoteDataModule] 填上Coclass Name项"到注册表
***************************************************************
实现步骤
下面是一例对材料库存表进行维护的Multi_Tier结构数据库管理程序,用户可以在前端的Windows 98机上通过中间的NT应用服务器对Alpha机上的ORACLE数据库上的库存表进行维护:
1、应用服务器上程序的开发:
(1)打开一个新工程,然后点主功能菜单[NEW]中的[RemoteDataModule] 填上Coclass Name项,这里是KCBB。
(2)在RemoteDataModule上放置DATABASE,TABLE ,DataSetProvider三个组件,并设属性如下:
Database1 的Aliasname ORACLE2
Database1 的 Databasename TEST
Database1 的 Connected TRUE
Table1 的 Databasename TEST
Table1 的 Tablename KCB
Table1 的Active TRUE
(这六行目的是连上后端数据库ORACLE2的表KCB)
DataSetProvider的Dataset TABLE1
DataSetProvider 的Exported TRUE
(这两行目的是DataSetProvider组件将表KCB作为DATASET传给前端程序)
(3)在Forms1加一个Lable组件,上面写上"服务器应用程序已被启动",这样运行时屏幕上就会出现这句话,说明程序已被调用。
(4)运行程序,进行注册操作。
为了前端程序能连上此COM程序,必须把它注册到服务器的注册表内,可通过运行Regedit.EXE,根据COCLASS NAME捜寻注册名来确认注册是否成功。
2、前端程序的开发:
(1)打开一个新工程,拖拉一个DCOMConnection组件,一个ClientDataSet组件,DataSource组件,Dbgrid组件到FORM1上,并设属性如下:
DCOMConnection1的Computername 应用服务器的机器名
DCOMConnection1的Servername PROJECT1.KCBB(COM注册名)
ClientDataSet1的 Remoteserver DCOMCONNECTION1
ClientDataSet1的 Provider TABLE1
ClientDataSet1的 ACTIVE TRUE
(这五行连接上应用服务器的COM程序,接收表KCB作为本机的Dataset)
DataSource 的 DATASET ClientDataSet1
Dbgrid的DataSource DataSource1
(这两行用Dbgrid组件对本机Dataset进行操作)
***************************************************************
"为了前端程序能连上此COM程序,必须把它注册到服务器的注册表内,可通过运行Regedit.EXE,根据COCLASS NAME捜寻注册名来确认注册是否成功。"
实际上我使用了ADO的免DSN的Acess的数据库连接
服务器客户端在,开发工作站上都可以正确运行
但是,无法发布到其他的机器,
①把客户端到其他机器连接本机,发送"拒绝访问"
②把服务器端放置到其他机器,本机运行连接目的机器
发生(RPC 服务器无法运行)
③我不知道如何注册 COCLASS NAME 不知道如何才能
将服务器注册到其他机器
实际上我的开发机器是 windows2000
其他机器是windowxp
问题:
DCOM 如何设置安全共享
如何注册服务器在其他机器,
如何发布这样的程序
写了:两个程序 客户端/服务器本机运行良好,但 发现无法在其他机器运行和
进行连接不知道如何安装发布这类程序!和注册
"[RemoteDataModule] 填上Coclass Name项"到注册表
***************************************************************
实现步骤
下面是一例对材料库存表进行维护的Multi_Tier结构数据库管理程序,用户可以在前端的Windows 98机上通过中间的NT应用服务器对Alpha机上的ORACLE数据库上的库存表进行维护:
1、应用服务器上程序的开发:
(1)打开一个新工程,然后点主功能菜单[NEW]中的[RemoteDataModule] 填上Coclass Name项,这里是KCBB。
(2)在RemoteDataModule上放置DATABASE,TABLE ,DataSetProvider三个组件,并设属性如下:
Database1 的Aliasname ORACLE2
Database1 的 Databasename TEST
Database1 的 Connected TRUE
Table1 的 Databasename TEST
Table1 的 Tablename KCB
Table1 的Active TRUE
(这六行目的是连上后端数据库ORACLE2的表KCB)
DataSetProvider的Dataset TABLE1
DataSetProvider 的Exported TRUE
(这两行目的是DataSetProvider组件将表KCB作为DATASET传给前端程序)
(3)在Forms1加一个Lable组件,上面写上"服务器应用程序已被启动",这样运行时屏幕上就会出现这句话,说明程序已被调用。
(4)运行程序,进行注册操作。
为了前端程序能连上此COM程序,必须把它注册到服务器的注册表内,可通过运行Regedit.EXE,根据COCLASS NAME捜寻注册名来确认注册是否成功。
2、前端程序的开发:
(1)打开一个新工程,拖拉一个DCOMConnection组件,一个ClientDataSet组件,DataSource组件,Dbgrid组件到FORM1上,并设属性如下:
DCOMConnection1的Computername 应用服务器的机器名
DCOMConnection1的Servername PROJECT1.KCBB(COM注册名)
ClientDataSet1的 Remoteserver DCOMCONNECTION1
ClientDataSet1的 Provider TABLE1
ClientDataSet1的 ACTIVE TRUE
(这五行连接上应用服务器的COM程序,接收表KCB作为本机的Dataset)
DataSource 的 DATASET ClientDataSet1
Dbgrid的DataSource DataSource1
(这两行用Dbgrid组件对本机Dataset进行操作)
***************************************************************
"为了前端程序能连上此COM程序,必须把它注册到服务器的注册表内,可通过运行Regedit.EXE,根据COCLASS NAME捜寻注册名来确认注册是否成功。"
实际上我使用了ADO的免DSN的Acess的数据库连接
服务器客户端在,开发工作站上都可以正确运行
但是,无法发布到其他的机器,
①把客户端到其他机器连接本机,发送"拒绝访问"
②把服务器端放置到其他机器,本机运行连接目的机器
发生(RPC 服务器无法运行)
③我不知道如何注册 COCLASS NAME 不知道如何才能
将服务器注册到其他机器
实际上我的开发机器是 windows2000
其他机器是windowxp
问题:
DCOM 如何设置安全共享
如何注册服务器在其他机器,
如何发布这样的程序