C#.NET/PHP连接Access版的金碟财务软件数据库

项目需求:

在服务器有个OA产品需要和财务部的金碟软件交互。但金碟是桌面应用程序,修改起来挺麻烦,想想OA是web 应用程序,嘿嘿。这个好办,所以就从服务器的PHP OA入手。只要把符合准确的数据存放到金碟的数据库中,金碟软件就能正常运行,并显示出数据。

但问题来了,主要有两个问题:

1.ACCESS如何局域网内不同电脑相连接?嗯,这个很少接触,暂且放一边。

2.金碟软件的数据库和一般的ACCESS数据库有点区别,他有专门的用户组,包括了Sample.ais和System.mda。此时要想直接把Sample.ais重命名为"Sample.mdb",再直接打开,是行不通的。只有在 工具 -》安全-》工作组管理员 选择“加入”选项选择"System.mda"这样,再双击打开“Sample.mdb"就没问题了。

好,数据库能打开了。那现在就是要解决程序的远程连接ACCESS数据库的问题。

平时在.net中连接ACCESS数据库就如下那么简单(首先声明,Sample.mdb的用户组名为:morningstar,密码:ypbwkfyjhyhgzj),则连接语句理所当然为:

这语句的确没有错误,但却无法打开该数据库,会提示“数据库被占用,或者无权限”类似这样的提示,具体的错误提示记不清了 :) .

奇怪了,用户名和密码是正确了呀 ,为何不行呢。

问题在这里呢,它不是还有一个文件么,叫这个“System.mda”这个就是对应操作该数据库的用户组文件,必须得把这个文件引入连接字符串才行吧,好,我们来试试,再改正为如下:

OK,再测试一下,好了,这下没问题了吧。嘿嘿。关键是加上这一句:System database=D:/System.mda

好了,本地的数据库测试成功,那远程的呢。

好,我们把同在局域网的其它台电脑(假设IP为:192.168.1.5)上的Sample.ais和System.mda所在文件夹共享出来。

则,我们的连接语句又可以改成这样:

大功告成,程序运行成功!!

这是在.net里的写法,当然,在其它程序里的写法其实也是一样,直接把Provider=Microsoft.Jet.OLEDB.4.0;Data Source=//192.168.1.5/Sample.ais;User ID=morningstar;Password=ypbwkfyjhyhgzj;Jet OLEDB:System database=//192.168.1.5/System.mda这一段照搬过去就OK了。

记录一下,希望能帮助更多朋友少走一些弯路,多一些时间去处理业务的操作。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章