我用ACCESS做数据库,用ADO访问,
如果数据库不访密码,在ADO中使用空白密码,用户名为ADMIN,就可以正常连接到数据库;
如果将ACCESS数据库设了密码以后,用户名还是为ADMIN,并将密码贮存在ADO控件中,
但是ADO控件连接不上数据库,提示说:"因为初始提供者遭遇失败,测试连线失败,密码无效";
但是我的密码是对的呀,
这是什么原因呢
如果数据库不访密码,在ADO中使用空白密码,用户名为ADMIN,就可以正常连接到数据库;
如果将ACCESS数据库设了密码以后,用户名还是为ADMIN,并将密码贮存在ADO控件中,
但是ADO控件连接不上数据库,提示说:"因为初始提供者遭遇失败,测试连线失败,密码无效";
但是我的密码是对的呀,
这是什么原因呢
你可以拷贝下来到你的代码中
var
ConnStr,DBPath:String;
Begin
try
DBPath:=ExtractFilePath(Application.ExeName)+'db1.mdb;';
ConnStr:='Provider=Microsoft.Jet.OLEDB.4.0;'
+ 'User ID=Admin;Password=;Data Source='
+ DBPath
+ 'Persist Security Info=False;'
+ 'Jet OLEDB:System database="";'
+ 'Jet OLEDB:Registry Path="";'
+ 'Jet OLEDB:Database Password="";' //密码写在这里
+ 'Jet OLEDB:Engine Type=5;'
+ '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:Compact Without Replica Repair=True;'
+ 'Jet OLEDB:SFP=False';
with MyAdoconnct do //设置ADO连接属性
begin
Close;
ConnectionString:=ConnStr;
LoginPrompt:=False;
Open;
end;
except
on E:Exception do
begin
ShowMessage('无法打开数据库,请确定程序安装正确!'+e.Message);
application.Terminate;
end;
end;
end;
{* 用Ado连接Access数据库函数}
begin
with Adocon do
begin
Close;
LoginPrompt := False; //若数据库不存在时,进行判断
ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + DbName + ';' +
'Mode=ReadWrite;' +
'Persist Security Info=False;' +
'Jet OLEDB:Database Password=' + Password + ';' +
'Jet OLEDB:Compact Without Replica Repair=True';
try
KeepConnection := True;
Screen.Cursor := crHourGlass;
Connected := True;
Open;
Screen.Cursor := crDefault;
ADOConnectAccess := True;
except
ADOConnectAccess := False;
end;
end;
end;
AdoAccess.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+ desfile +';Jet OLEDB:Database Password=wuwei';
AdoCN.ConnectionString='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\aaa.mdb;'
+'Jet OLEDB:Database Password=AAA;'; //AAA改为你自己的密码就行了
选择空白密码,然后再点开所有,选中Jet OLEDB:Database Password将值修改为你的密码就可以了。
'Persist Security Info=False;'+
'Data Source='XXXXX.mdb;'+
'Jet OLEDB:Database Password=********';
adoLocate.ConnectionString:=strCon;
try
adoLocate.Connected:=true;
......