Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1325|回复: 0

delphi创建带密码的ACCESS数据库

[复制链接]

该用户从未签到

发表于 2011-9-26 15:31:43 | 显示全部楼层 |阅读模式
delphi怎么创建带密码的ACCESS数据库

创建数据库可以了,代码如下:(想让它密码是123456)


// 开头调用.ComObj
    Source:=&#39rovider=Microsoft.Jet.OLEDB.4.0;Data Source=ku.mdb';
    CreateDB:=CreateOleObject('ADOX.Catalog');

    //判断文件是否已经存在
    if (fileexists('ku.mdb') =true) then
      begin
      showmessage('文件已经存在');
      end
    else
      begin
        CreateDB.Create(Source);//执行创建操作
        showmessage('文件创建完成');
      end; 提问者: shandongbuyi - 四级
最佳答案
Source:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ku.mdb';User Id=xxx;PassWord = 123456   CreateDB:=CreateOleObject('ADOX.Catalog');

若是不行,看看下面:
加了密码的Access数据库连接字符串如何设置?
2007年03月30日 星期五 13:49
Access数据库在一些小的系统程序中经常用到,为了给数据库中的信息增加一些安全性,最简单的方法就是给Access文件加上密码(当然也可以将数据库中的数据进行加密后在存放到文件里来保护数据,只不过这种方法需要在程序中考虑加密和解密的问题),那针对有密码的文件通过数据库连接字符串来进行连接访问呢?下面是我在网络上找到的一些解决方案。收集起来以备后用。
access数据库加密分3种
以下以access xp为例
1、工具 -> 安全-> 加密/解密数据库,打开时无需任何更改
2、工具 -> 安全-> 设置数据库密码,打开密码为 1 打开时需要使用
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID=admin;Password=;Jet OLEDBatabase Password=1"


也可以用
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID='admin';Password=;Jet OLEDB:Database Password='1'"

3、工具 -> 安全-> 用户组与权限 ....   ,用户名为 admin 密码为 rr 用户组文件为 c:\system.mdw,打开时需要使用
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID=admin;Password=rr;Jet OLEDB:Database Password=1;Jet OLEDB:System database=c:\system.mdw"


也可以用
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.mdb;User ID='admin';Password='rr';Jet OLEDB:Database Password='1';Jet OLEDB:System database=c:\system.mdw"

如果在局域网上共享访问数据库,只要将绝对路径更改为 "\\计算机名\共享目录名\文件名.MDB" 即可,比如
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\access911\floder1\1.mdb;User ID='admin';Password='rr';Jet OLEDB:Database Password='1';Jet OLEDB:System database=\\access911\floder1\system.mdw"

直接在连接字串里面定义 MODE 属性达到独占/公享等目的也是可以的,比如:
JetOLEDB:GlobalPartialBulkOps=2;JetOLEDB:RegistryPath=;JetOLEDB:DatabaseLockingMode=1;JetOLEDB:DatabasePassword=;DataSource=D:\db.mdb;Password=;JetOLEDB:EngineType=5;JetOLEDB:GlobalBulkTransactions=1;Provider=Microsoft.Jet.OLEDB.4.0;JetOLEDB:Systemdatabase=;JetOLEDB:SFP=False;ExtendedProperties=;Mode=ShareDenyNone;JetOLEDB:NewDatabasePassword=;JetOLEDB:CreateSystemDatabase=False;JetOLEDB:Don'tCopyLocaleonCompact=False;JetOLEDB:CompactWithoutReplicaRepair=False;UserID=Admin;JetOLEDB:EncryptDatabase=False


注意:Access 2007 在数据格式上有了很大变化,因此数据提供者已经不是 jet db 4.0 了,Microsoft.ACE.OLEDB.12.0 才是 *.accdb 的数据提供者。
Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Documents and Settings\chenge\My Documents\数据库1.accdb;Mode=Share Deny Read|Share Deny Write;Extended Properties="";Jet OLEDB:System database=C:\Documents and Settings\chenge\Application Data\Microsoft\Access\System.mdw;Jet OLEDB:Registry Path=Software\Microsoft\Office\12.0\Access\Access Connectivity Engine;Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=True
回复

使用道具 举报

该用户从未签到

发表于 2011-9-27 10:23:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-1 08:03 , Processed in 0.372784 second(s), 47 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表