访问加密的Access数据库 (100分)

  • 主题发起人 主题发起人 陈尚伟
  • 开始时间 开始时间

陈尚伟

Unregistered / Unconfirmed
GUEST, unregistred user!
问题:
用delphi的ADO控件访问加了密码的ACCESS数据库
 
在联接的时候需要在
all/Jet OLEDB:Database Password
中填入密码。
 
我知道要填Databass Password
但在哪填什么时候填,能说清楚些吗?
谢谢先!
 
双击ADOConnection控件,然后Build,然后选择all页,最后列表框中有一个password项
填入即可
 
ADOConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;';
ADOConnection.ConnectionString:=ADOConnection.ConnectionString+'User ID='+s_userID;//用户名
ADOConnection.ConnectionString:=ADOConnection.ConnectionString+';Data Source='+s_UserDb;//数据库名 如: c:/userdb/my.mdb
ADOConnection.ConnectionString:=ADOConnection.ConnectionString+';Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";';
ADOConnection.ConnectionString:=ADOConnection.ConnectionString+'Jet OLEDB:Database Password="'+s_Password;//密码
ADOConnection.ConnectionString:=ADOConnection.ConnectionString+'";Jet OLEDB:Engine Type=4;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";';
ADOConnection.ConnectionString:=ADOConnection.ConnectionString+'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';
 
DefaulDatabase是什么?
请问User是什么Password又是什么
在哪填什么时候填,能说清楚些吗?
谢谢先!
 
user不用填,没有什么DefaulDatabase啊?
其它的补充见zlj555的回答。
 
出现错误!
提示:密码无效!
 
测试连接时提示:可能已被其他用户独占打开
 
来自:oulin, 时间:2002-1-6 20:03:00, ID:838741 [显示:小字体 | 大字体]
我的access数据库有密码,试图用Adoconnection连接,
可是测试连接时就出现错误:工作组文件丢失,或者是已被其他用户以独占方式打开!
(其实没有打开该数据库!)
使用的 ole db提供者:microsoft jet 4.0 ole db provider


来自:snjat, 时间:2002-1-6 20:06:00, ID:838746
如果你用SQLSERVER的话会很好的,ACCESS又不支持多用户,肯定你是在第一次连通,没有
释放,然后再连,才会出现上述问题。
把ACCESS重起就行了


来自:only you, 时间:2002-1-6 20:20:00, ID:838768
ADOConnection1的LoginPrompt设为False
在ADOConnection1设置连接字符串如下
ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password=12345;Persist Security Info=True;User ID=wolf;Data Source=ac';



来自:萧月禾, 时间:2002-1-6 20:40:00, ID:838821
我以前也遇到这个问题
必须通过设定连接字符串的方法才能连接上
ConnectionString中包含两个带“password”的参数
是设置后面的一个


来自:yzhshi, 时间:2002-1-6 20:43:00, ID:838831
是设置所有里面的Jet OLEDB:Database Password
不过我刚才实验了,没有设置的时候出错是初始化提供者错误,不是
“工作组文件丢失,或者是已被其他用户以独占方式打开”之类的错误呀。[8D]


来自:txyx, 时间:2002-1-6 20:53:00, ID:838846
我想这个问题,首先ADOConnection1的LoginPrompt设为False
其次设定连接字符串时,出现两次密码输入框,照添就是。

文snjat,ACCESS又不支持多用户吗??可是我做的一个小程序,局域网
内几个用户好像可以一起用啊?



来自:oulin, 时间:2002-1-6 20:56:00, ID:838849
我试了你们的方法了,还是不行啊!
:(。。。。


来自:yzhshi, 时间:2002-1-6 21:01:00, ID:838861
对了,你的mdb文件是否含有工作组文件,就是说密码是那个级别的,是否涉及系统数据库的概念?
那个俺可没有用过。


来自:txyx, 时间:2002-1-6 21:07:00, ID:838878
oulin,帮你顶
各位高手,能不能指点一下
《ACCESS支不支持多用户??可是我做的一个小程序,局域网
内几个用户好像可以一起用啊?


来自:oulin, 时间:2002-1-6 21:31:00, ID:838926
txyx ,你好!
我也认为access可以多用户使用的!我也用过!:)
现在我的问题解决了,不过是看以前的记录解决的!
http://www.delphibbs.com/delphibbs/dispq.asp?lid=698542
自己去看吧!
分还是照样送给你们!在这也谢谢提供答案的xeen !
谢谢各位!


来自:oulin, 时间:2002-2-22 17:46:00, ID:935644
多人接受答案了。


来自:yzhshi, 时间:2002-2-22 17:51:00, ID:935659
呵呵,我给你说的也应该是对的。只是设置密码的地方不同,不过出错不是那个错误呀?!我还是觉得你的问题比较怪。

来自:yzhshi, 时间:2002-1-6 20:43:00, ID:838831 | 编辑
是设置所有里面的Jet OLEDB:Database Password


 
谢谢大家!
你们的方法都行!
但还是在以前的记录我解决了:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=698542
接收答案
 
后退
顶部