谈用Access数据库做服务器

类别:Delphi 点击:0 评论:0 推荐:

        在下前段时间用Delphi做了一个单机版的软件,数据库用Access,开发过程比较顺利。怎知世事难预料,有天客户提出要在网络环境下运行此软件!

        相信很多朋友都遇到此类问题。现在有3条路可以走,一条是将Access数据库升级成SQL Server数据库,还有一条是仍然用Access,但使得它可以在网络上共享数据,第三条就是我们今天要讨论的,将Access改造成数据库服务器!

        我当时采用了最简单的办法,建议客户将此软件放在一个完全共享的文件夹里,哪台机器要用,就创建一个快捷方式。嘿嘿,此方法的最大好处就是不用我再动脑筋。

        后来我又想,能不能将Access数据库改造成类似于服务器的版本呢?

        这样做有如下好处:1、不用安装Windows Server版本及SQL Server版本,这些软件安装麻烦,价格昂贵,对机器的配置要求较高;2、客户端安装配置简便。

        我马上想到了MIDAS技术(现改名为DataSnap)。通过创建一个应用程序服务器,能不能将Access数据库改造成服务器版本呢?

        我马上动手试验改造。随便选一台机器做服务器(操作系统最好在WIN98或以上),用Socket连接方式,在上面放上Access数据库,运行一次用DataSnap技术改造的应用程序服务器软件,然后将客户端软件拷到另一台机器运行。

        这边有2点要注意:一是服务器上一定要先运行scktsrvr,这个程序Delphi有自带的,二是一定要将midas.dll文件拷到客户端的系统文件夹。

        结果却令我不解,客户端可以读出服务器上的数据,但却不能提交更改!

        原来的数据连接用的是Jet.OLEDB.4.0,记得我已前用BDE做测试时,连普通DBF文件都可以做服务器呢,问题会不会在这边?

        于是我在ODBC里配置了一个指向Access数据库的连接,然后用BDE的Database组件选择此数据库别名,重新测试。这一次,一切正常,成功了!

        剩下一个问题,就是BDE及ODBC的打包问题。这两个配置比较麻烦,可以用程序修改注册表来实现,但还有更简便的方法。现在很多安装工具都具备自动配置BDE及ODBC的功能,大家不妨选用这些工具打包。而且,由于采用多层数据库开发,只要在服务器上配置一遍就可以了,客户端只需一个额外的MIDAS.DLL文件。

        这是我自己试验的结果,不知谁还有更好的方法,望不吝赐教。

本文地址:http://com.8s8s.com/it/it4967.htm