如何把数据库和管理系统做到只读媒体或移动媒体上
一、应用场景:
1>将过期数据转移,并将清除掉,但又必须能随时查询以前数据
2>制作便于发放免安装的演示程序
二、制作步骤:
1>将数据导到access中,将access设置密码
2>用delphi的adoconnection组件连接access文件
2.1 用户名称:admin,空白密码打勾
2.2 将访问权限中的[read],[Share Deny Read],[Share Deny Write]勾上;
2.3 将Jet OLEDB:DataBase Password的值设为access的密码
2.4 选择[连接]页的[测试连接],通过OK,确定
2.5 复制Use Connection string中的内容
3>将adoconntion的连接字符串去掉,将IsolationLevel=ilBrowse,KeepConntion=false,LoginPrompt=false
4>在datamodule的创建事件中加入以下代码
5>其它的数据表打开就不说了,以前的都是关键问题
6>程序制作好后,可以刻录到光盘或复制到U盘即可
三、特点
运行程序的电脑无需安装access,方便;缺点:access的数据量不能太大,我用的数据只有主表4万多条,从表25万多条,感觉读取速度不快
附:
Mode常数
常数 含义
adModeUnknown 未指定数据源的连接许可权(默认值)
adModeRead 连接是只读的
adModeReadWrite 连接是可读写的
adModeShareDenyNone 不拒绝其他用户的读写访问(Jet OLE DB Provider的默认值)
adModeShareDenyRead 拒绝其他用户打开到数据源的读连接
adModeShareDenyWrite 拒绝其他用户打开到数据源的写连接
adModeShareExclusive 以独占方式打开数据源
adModeWrite 连接是只写的