delphi 三层建立

所谓三层:
(1) 客户端
(2) 服务器端
(3) 数据库
    在数据访问时,使得客户端必须经过服务器来访问数据库。提升了系统的安全性。
    在Delphi中可使用Socket或者Dcom来链接他们相互间的通信。若是使用Scocket在系统使用时必须提供Scocket链接器,而Dcom则不用。客户端和服务器的链接须要Broker来联系。


环境为winxp sp2 + delphi 7 + db7.(MSSQL2000)

建立过程:
一、 请不要新建application.file-new-activex-activex library,file --new--other,选 择"Multitier"--"Remote data module"。在跳出来的对话框里面输入名称(任意),例如:AppSqlConn。选择确 定,进入remote data module窗口。
二、加入组件:adodataset,点击connectionstring属性,点击后面 的…,进入设定链接窗口。选择:use connection string--build,在提供程序中选 择:"Microsoft ole db provider for sql server",在链接中:服务器名称输入sql server的ip地 址,登陆信息中输入用户名和密码(sql server),在选择数据库中选择本身想要使用的数据库。通常只要地址正确、用户名和密码无误,确定能够链接 经过。肯定退出

三、在commandtext中点击后面的…,进入sql 语句设定,根据本身的要求设定。
四、将active属性设置为true。只要前面的设定是正确的,这里应该顺利经过。
五、加入组件:datasetprovider。设定其dataset属性为上面的adodataset。
六、到此服务器端已经设置完成。请保存而且运行一次,从而使服务注册。
七、运行delphi的bin目录下面的scktsrvr,由于下面要使用socket链接。运行后任务栏中出现socket server的图标。
八、新建程序(application),而后file--new--data module,会建立客户端的data module。
九、 加入组件:socketconnection,在address中输入sql server的ip地址,而后在servername中输入刚才建立的 remote data module的服务程序。程序会自动在serverguid中加入id。而后选择connected属性为true。只要此处不 报告错误,此程序基本成功了。
十、加入组件:clientdataset,选择remoteserver属性为socketconnection,选择providename为服务器程序的datasetprovider。而后选择active属性为true。
十一、 到程序的form窗口状态,首先选择file--use unit,选择上面建立的data module,肯定。而后加入组件datasource和 dbgrid。选择datasourece的dataset属性为data module的clientdataset,选择dbgrid的 datasource为这里的datasource组件。如今应该能够看到dbgrid的窗口中出现了想要的数据。保存而且编译客户端程序。
十二、客户端分发软件设定。从服务器端拷贝midas.dll文件到本机的system(98)或者system32(2000),通常本身就能够注册,不然用regsvr32 midas.dll注册一下。而后将刚才客户端程序拷贝过来运行一下,应该能够正常运行。


还有拒绝访问的错误我也碰到过,是没有打开borland socket server,该程序是borland/bin/scktsrvr.exe
注册服务器端时应该使用 run-install mts objects安装到组件服务里,安装完后能够在
控制面板-组件服务里找到服务器的GUID,而后填到borland socket server里就能够了。
若是须要code的话,请发mail到tech@chinajstar.net


scktsrvr.exe 是一个NT的服务程序,你用scktsrvr.exe -install安装以后,每次系统启动,它都会自动运行的。若是你的客户端用了 socketconnection,每次链接应用服务器的时候,都须要经过scktsrvr.exe才能访问到你的应用服务器.

scktsrvr.exe -uninstall 便可卸载

midas.dll是个什么文件?

1.数据库三层的文件.
2.TClientDataSet小家碧玉,恐怕人人都喜欢使用。可是,都知道娶TClientDataSet是有代价的,由于你同时也得面对丈母娘MIDAS.DLL。
3.delphi用来设计多层应用程序的动态库,用来做客户端和服务器链接和处理。
4. Multi-tier distributed application service
   多层分布式开发服务
   midas.dll是它运行时须要的动态链接库。
5.你安装好delphi时装在system32里的,delphi的一个DLL.


能不能使用TClientDataSet又不用MIDAS.DLL呢?

很简单,就是uses一下MidasLib单元!
MidasLib单元在Delphi6中才有,是Lib目录下的一个dcu文件。一旦在你的源程序中引用了MidasLib单元,程序运行时就再也不须要MIDAS.DLL文件。
然而,编译后程序大小必定会增长200k以上,即便使用包编译模式。sql

相关文章
相关标签/搜索