看看吧,不是简单的COPY过去就OK,要配置的很多

解决方案 »

  1.   

    用DCOM还是SOCKET啊
    要有一些配置文件如MIDAS.DLL...
      

  2.   

    我没有试过,不过用dcom我用过
      

  3.   

    给你一些配置的资料:(最好20分都给我)  Client/Server是一种分布式的计算模式,与传统的基于主机的结构相比,具有较好的可伸缩性和较优的性价比。过去,Client/Server结构一般分为两层:客户端和服务器端,所有客户端各自实现自己的用户界面和应用逻辑。随着系统的不断扩展,这种两层的Client/Server模式逐渐暴露出它的缺陷,由于最终客户需求的千变万化,客户端可能会不堪重负,而客户端程序的过于庞大显然与分布式计算的思想背道而驰。解决上述问题的方案,就是采用多层的Client/Server结构。目前,通常按客户端、应用服务器端和DBMS服务器端三层,在这种结构中,客户端只用于实现用户界面,而应用逻辑则由应用服务器实现。  二、应用服务器的创建  要创建一个多层的Client/Server应用程序,首先要创建应用服务器。为完成与远程的客户双向交互,应用服务器需提供某种类型的Iprovider构件来实现,也可以直接通过几个继承于TDBDataSet类的数据集构件如Ttable\Tquery的Provider属性实现。创建步骤如下:  1.远程数据模块(Remote Data Module)的创建  使用File菜单上的“New Application”命令开始一个新工程,双击Multitier页面中的“Remote Data Module”图标,Delphi将要求指定类名,如图1所示。  (1)在“Class Name”框内键入类名后(类名第一个字母不必是T),单击OK按钮,Delphi就在当前工程中加入一个远程数据模块。  (2)TTable数据集构件的创建  置入一个Ttable构件,设定它的属性databasename和tablename,然后设定active为true。  (3)TdataSetProvider构件的创建  置入一个TDataSetProvider构件,设定属性DataSet为Table1。  至此,一个简单的应用服务器创建完毕。如图2所示。  执行此程序,该应用程序将在系统中自动注册,今后的客户端程序就可以调用该应用服务器程序了。  三、客户程序的创建  从用户角度看,创建多层的Client/Server结构的“瘦”客户是用TclientDataSet构件实现的,并且通过TDCOMConnection构件与应用服务器端连接。创建步骤如下:  1.建立一个新的数据模块  使用“File”菜单上的“New Application”命令开始一个新的工程,使用“File”菜单上的“New Data Module”命令加入一个数据模块。  2. TDCOMConnection构件的创建  把一个TDCOMConnection构件放到数据模块上,设置它的ServerName属性指定应用服务器名(在这里,应用服务器就是上面创建的名为MyDcomServer服务器程序。如果“瘦”客户与应用服务器不在同一个计算机上,还要设置ComputerName属性指定服务器所在的机器名。  3. TclientDataSet文件添加  把一个TclientDataSet构件放到数据模块上,设置它的RemoteServer属性指定TDCOMConnection构件,再设置ProviderName属性指定应用服务器中的DataSetProvider名,因此,“瘦”客户程序可以透明地访问远端数据库服务器上的数据。如图3所示。  4. TdataSource文件添加  把一个TdataSource构件放到Form上,设置它的DataSet属性指定TclientDataSet构件。  5. TDBGrid构件添加  把一个TDBGrid构件(也可以是其他数据控制构件)放到Form上,设置它的DataSource属性指定TdataSource构件,如果要在设计期间就看到数据的话,把TclientDataSet构件的Active属性设为True。  至此,一个典型的“瘦”客户创建完毕,与传统的数据库应用程序相比,它不需要直接与数据库打交道,从而显得较瘦。  四、DCOM配置  如果在Windows NT环境下正常运行应用服务器,必须进行DCOM配置。配置方法如下:  1.运行NT服务器上的dcomcnfg程序,进行DCOM配置。  2.进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。  3.进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,如果不去掉EveryOne,应用服务器不能正常启动。  4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。  5.将常规页面中的身份验证级别改为“无”。  6.位置页面中选上“在这台计算机上运行应用程序”。  7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户列表中。  8.身份标识页面中,选择“交互式用户”。  9.NT的GUEST用户不能禁用。  结束语  多层Client/Server结构的优势:  1.客户端只需要关注用户界面,而且与其他客户共享相同的数据访问模块,从而使客户端大大“减肥”。  2.客户端与应用服务器端一般分布于不同的计算机上,程序运行效率更高,处理事务的能力更强。  3.有利于提高数据的安全性,因为应用逻辑和最终访问数据库均由应用服务器端实现,而不是由多个客户直接访问数据库服务器,减少了网络上的数据流量。 
    3. 部署文件
    D e l p h i 的每个新版本对于部署M I D A S 应用程序的要求都有变化。Delphi 5 比任何一个版本都容易部署。D e l p h i 以前的版本在客户和服务器上都要部署D B C L I E N T. D L L 文件。这个文件是用来实现T C l i e n t D a t a s e t 的。D B C L I E N T. D L L 还要注册在客户的系统中。其他文件也有一些要求,例如S T D V C L 3 2 . D L L 、S T D V C L 4 0 . D L L 和I D P R O V 3 2 . D L L 。如果文件丢失或注册不正确,应用程序就不能正常运行。
    在Delphi 5 中,部署M I D A S 应用程序只需要最少的一部分文件,如下面所列:
    1) 把应用服务器拷贝到有足够N T F S 权限的目录下。
    2) 安装数据访问层,使应用服务器能够作为客户访问R D B M S (如B D E 、M D A C 、客户端数据库的库文件,等等)。
    3) 拷贝M I D A S . D L L 文件到%S Y S T E M %目录。缺省情况下,N T 机器上是C : \ Wi n n t \ S y s t e m 3 2 ,Windows 9x 机器上是C : \ Wi n d o w s \ S y s t e m 。
    4) 运行应用服务器一次,注册成C O M
    下面是客户端的步骤:
    1) 拷贝客户到一个目录下,连同客户需要的任何其他外部支持文件(如运行包、D L L 文件、
    A c t i v e X 控件,等等)。
    2) 拷贝M I D A S . D L L 文件到%S Y S T E M %目录下。
    3) (可选的)如果在T D i s p a t c h C o n n e c t i o n 中指定了S e r v e r N a m e 属性或在客户端进行静态捆绑,那么需要注册服务器的库文件类型( T L B )。这可以用< D E L P H I > \ B I N \ T R E G S V R . E X E这样的工具来实现(或者在程序中实现)。
    4. 进行I n t e r n e t 部署要考虑的事项
    如果通过局域网进行部署,就没有什么需要考虑的。可以选择任何一种适合应用程序需要的连接
    类型。但是,如果用I n t e r n e t 作为网络主干,那么就会有许多出问题的可能—即,防火墙。
    D C O M 不是最配合防火墙的协议。它需要在一个防火墙中打开多个端口。多数系统管理员厌烦这种情况,因为这可能引来黑客攻击。防火墙只需要打开一个端口。但是,在一些特殊场合,管理员甚至会拒绝那样做,因为这是一个安全漏洞。
    T We b C o n n e c t i o n 是从T S o c k e t C o n n e c t i o n 派生来的,它允许把M I D A S 传输捆绑进合法的H T T P 中,使用世界上最开放的端口—H T T P 端口(缺省为8 0 )。事实上,这个组件甚至支持S S L ,因此可以进行可靠的通信。这样,防火墙问题就完全消除了。利用B o r l a n d 提供的I S A P I 扩展,可以把H T T P 传输加到M I D A S 传输中去,反之亦然。从这一点来
    看,I S A P I . D L L 与S c k t S r v r 完成同样的套接字连接工作。I S A P I 扩展h t t p s r v r. d l l 需要放在一个能够执行程序的目录下。例如,对于I I S 4 ,缺省的位置是C : \ I n e t p u b \ S c r i p t s 。使用T We b C o n n e c t i o n 的一个更大的优点是,它支持对象共享。对象共享可以减少每次客户连接时服务器的总开销。此外,M I D A S 中的共享机制允许设置创建对象的数目最大。当达到最大数目后,会返回客户一个错误信息,显示服务器太忙。这比为每个要连接服务器的客户创建任意数目的线程更具有灵活性。为了让M I D A S 知道要共享R D M ,必须在R D M 的U p d a t e R e g i s t r y 方法中调用R e g i s t e r P o o l e d 和U n r e g i s t e r P o o l e d (请看清单3 2 - 1 显示的U p d a t e R e g i s t r y 的一个简单实现)。下面的代码是调用R e g i s t e r-P
    o o l e d 方法的例子:R e g i s t e r-Po o l e d(ClassID,16,30);这行代码告诉M I D A S 要共享1 6 个对象,M I D A S 可以在对象不活动3 0 分钟后释放创建的对象实例。
    如果不想释放对象,可以把超时参数设为0 。
    客户不需要做太大的改变。只要在客户端使用一个T We b C o n n e c t i o n 组件并适当地设置属性,客户就会通过H T T P 与服务器进行通信。使用T We b C o n n e c t i o n 后的主要不同是,必须指定到h t t p s r v r. d l l 的完整U R L ,不要使用主机名或地址来标识服务器。图3 2 - 11 显示了使用T We b C o n n e c t i o n 的典型设置。
    使用H T T P 的另一个好处是,像N T 企业版这样的操作系统允许集群服务器。这样实现了真正的负载平衡和容错。使用T We b C o n n e c t i o n 的限制极少,为了能让更多的客户访问服务器,这些限制是非常值得的。这里的限制就是必须在客户端安装w i n i n e t . d l l ,并且不能使用回调。另外,必须在被覆盖的U p d a t e R e g i s t r y方法中使用E n a b l e We b Tr a n s p o r t 函数来注册应用服务器。
      

  4.   

    有谁知道在windows2000 server上怎样配置吗?(前端也是windows2000 server)
      

  5.   

    你的问题关键在于配置。
    我有过相似经历。
    dcom不必多说(95要加dcom 与之相关的有个叫dcomcnfg的东西)
    socket则要启动scktsrvr.exe
    midas.dll须注册 regsvr32 midas.dll