还是老问题access2000密码和权限的问题?为什么用adol连不上呢?太奇怪了(200分)

  • 主题发起人 主题发起人 初学者110
  • 开始时间 开始时间

初学者110

Unregistered / Unconfirmed
GUEST, unregistred user!
Provider=Microsoft.Jet.OLEDB.4.0;
Password=a;
User ID=ggggg;
Data Source=C:/Documents and Settings/Administrator/My do
cuments/db1.mdb;
Persist Security Info=True
它怎么是说无法启动应用程序,工作组文件丢失,呀是其它程序以独占方式打开。
我在access2000中设置了一个用户叫ggggg,用户有密码是a,密码并不是数据库加密的密码
因为直接对数据库加密太容易被破解了。我想这样对数据库加密会好些,不过用ado连不上
为什么,怎么设置呢
 
我在线等,
qq:66639527。。。。。。。。。。。。。。。。
 
哪个存在mdw文件里吧,不知道怎么处理。
bde还可以吧
 
Persist Security Info=True
-------
改为Persist Security Info=false
试试
 
天呀,效果一样,还是不行,怎么办呢,不可能没有办法连结上吧?????
要不然它设置这个权限做什么用呢?神仙们
 
用连接向导吧,Access中设置了密码之后,要在ADO连接向导的ALL页面中的PASSWORD部分
输入其密码,而CONNECTION部分的密码不必理会。
 
在所有页里面有个JET OLEDB:DATABASEPASSWORD,数据库密码填在这里就好!
 
贴到这里好了
Provider=Microsoft.Jet.OLEDB.4.0;
User ID=gggg;
Data Source=C:/Documents and Settings/Administrator/My do
cuments/db1.mdb;
Persist Security Info=False;
Jet OLEDB:Database Password=a

 
TO:mcs51
这个办法好像是不行,我试了,总是报上面的错
 
我并没有对数据库直接加密码,面是通过用户权限,和用户密码对数据库加密码的。
用access打开的时候会出现两个提示框一个输入用户名,一个是密码。
可我用ado连不上了。为什么呢,有没有解决的办法
 
这样就行了
'Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;
Data Source =' + 数据库路径+ ';Jet OLEDB:Database Password='+密码
 
TO:wjsht
现在的数据库有用户名和密码了,是用权限加密的。
用户名是:ggggg
用户密码:a
 
connectionstring:=
'Provider=Microsoft.Jet.OLEDB.4.0;'
+ 'password="";' //这是用户工作组(*.mdw)密码
+ 'User ID=Admin;' //这是用户工作组(*.mdw)用户名
+ 'Data Source='C:/db.mdb';'
+'Persist Security Info=True;'
+ 'Mode=Share Deny None;Extended Properties="";'
+ 'Jet OLEDB:System database="";' //这是用户工作组文件
+ 'Jet OLEDB:Registry Path="";'
+ 'Jet OLEDB:Database Password='''';' //这里才是数据库密码
+ '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="";'
+ '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';
connected:=true;
 
楼上的对!
 
CoDelphi.com版权所有,未经允许,不得进行任何形式转载

ADO控件组一般都用来连接ACCESS数据库的。在数据库没有设密码的时候,用CONNECTSTRING就可以实现连接,但是如果有密码的,这时这个属性就不能用了,无论你怎么设置都无法连接!
该怎么解决呢?我问了一下朋友,对有密码的ACCESS数据库如果用ADO只能动态设定,而且这里面的参数很复杂,其实并不是设的东西负责而是这个语句很繁琐!
下面我把代码贴出,以供参考!
const{TADOConnection 连接数据库的参数} 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';var mainDBPath, mdwPassword, mdwUserID, mdbDataSource, mdbUserID, mdbPassword, mdbNewPassword:string;
begin
mainDBPath :=ExtractFilePath(ParamStr(0));
mdwPassword :='';
mdwUserID :='Admin';
mdbDataSource :=mainDBPath+'data/hongyu.mdb';
mdbUserID :='Admin';
mdbPassword :='123456';
mdbNewPassword :='';
//---这样设置完后再连接到控件的属性上就可以了!---// with ADOQry_User do
begin
{以上是给变量赋值} Active :=False;
ConnectionString :=Format(ADOLinkString, [mdwPassword, mdwUserId, mdbDataSource, mdbPassword, mdbNewPassword]);{初始连接参数} end;
end;

给你贴上来了,大鱼儿他们别怪我呀
 
后退
顶部