谈用Access数据库做服务器

2016-02-19 12:48 5 1 收藏

每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐谈用Access数据库做服务器,赶紧看过来吧!

【 tulaoshi.com - 编程语言 】

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

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

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

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

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

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

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

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

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

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

来源:http://www.tulaoshi.com/n/20160219/1601982.html

延伸阅读
PrivateSubCommand1_Click() OnErrorGoToErr100 '定义表与字段 DimDefDatabaseAsDatabase DimDefTableAsTableDef,DefFieldAsField SetDefDatabase=Workspaces(0).OpenDatabase(App.Path&"vbeden.mdb",0,False) SetDefTable=DefDatabase.CreateTableDef("VB编程乐园") 'dbBinary=9 ...
一、密码式 给数据库起一个随机复杂的名称,避免被猜到被下载,这种方式在以前很流行,因为大家都对自己的代码很有自信。但随着错误提示对数据库地址的泄露导致数据库被非法下载,这种方式也就越来越少人用了。 二、"#"式 在数据库名称里加上#号,从URL上请求时#是请求地址和请求参数的一个分隔字符,如果知道了数据库名...
例如,如果客户端执行了查询,但仅对第1行感兴趣,那么不会传输剩余的行。 光标是只读的,不能使用光标来更新行。 未实施UPDATE WHERE CURRENT OF和DELETE WHERE CURRENT OF,这是因为不支持可更新的光标。 光标是不可保持的(提交后不再保持打开)。 光标是不敏感的。 光标是不可滚动的。 光标是未命名的。语句处理程序起着光标ID的...
报表服务器数据库可以为一个或多个报表服务器实例提供内部存储。因为报表服务器数据库架构可能会因为推出新的 Reporting Services 版本而有所变化,所以要求数据库版本与使用的报表服务器实例的版本相匹配。大多数情况下,报表服务器数据库可以自动升级,您不需要执行任何具体操作。 如何升级报表服务器数据库 以下列表指出了升...
问:我们单位财务以前用的Access是97版,前不久将Access 97升级至2000版本了。升级完成后出现问题,打开原有的文件后系统提示:“Access 2000无法识别旧版本的数据库文件”,请问有没有办法可以修复数据库? 答:你可以利用软件AccessFix(下载地址为http://www.onlinedown.net/soft/16220.htm)来修复数据库。安装完成后点击按钮“Add ...

经验教程

439

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部