delphi 无法连接带密码的assess数据库 ( 积分: 50 )

  • 主题发起人 主题发起人 atie00100
  • 开始时间 开始时间
A

atie00100

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi写了个程序,连接assess数据库正常,但只要给数据库加上密码,就无法连接,提示“工作组信息文件丢失,或是已被其他用户以独占方式打开”,请问我该怎么办?
 
用ADOConnection连接
ConnectionStrinng = 'Provieder=Microsoft.Jet.OLEDB.4.0;Data Source=E:/text.mdb;Jet OLEDB:DataBase Password=test';
数据库 E:/text.mdb 数据库密码: test
 
你是在 安全 -> 设置数据库密码 里面设置的密码??
 
你是在 安全 -> 设置数据库密码 里面设置的密码??

是的
 
连接带密码的ACCESS数据库需要一个很麻烦的连接语句(我是这么认为的,别人可能有简单的语句,不过我只有这么写才能连接上)

ACCESS数据库连接的时候好像需要两个密码,一个是数据库,一个是用户(不知道我理解的对不对)

ACCESS在安全选项里有两个设置密码的地方,一个是数据库密码,一个是用户于组账户

连接语句是这样:
ADOLinkString ='Provider=Microsoft.Jet.OLEDB.4.0;'
+ 'Password=%s;' //用户工作组(*.mdw)密码
+ 'User ID=%s;' //用户工作组(*.mdw)用户名Admin
+ 'Data Source=%s;' //数据库文件(*.mdb)位置
+ 'Persist Security Info=True;'
+ 'Mode=ReadWrite;' // 数据库打开方式
+ 'Extended Properties=""' //默认值为空
+ 'Jet OLEDB:System Database=""' //用户工作组文件
+ 'Jet OLEDB:Registry Path=""' //注册路径
+ 'Jet OLEDB:Database Password=%s;' //数据库密码
+ 'Jet OLEDB:Engine Type=1;'
+ 'Jet OLEDB:Database Locking Mode=1;'
+ 'Jet OLEDB:Global Partial Bulk Ops=2;'
+ 'Jet OLEDB:Global Bulk Transactions=1;'
+ 'Jet OLEDB:New Database Password=%s;' //?密码 为空就可以
+ '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:Database Password=密码,

给分了!
 
后退
顶部