连接带密码的access数据库(100)

  • 主题发起人 宝宝龙
  • 开始时间

宝宝龙

Unregistered / Unconfirmed
GUEST, unregistred user!
“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开”连接带密码的access数据库时,出现以上提示,不知怎么解决,请指教
 
参考http://blog.csdn.net/wendy1001/archive/2006/11/01/1361081.aspx无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开当程序用ado的jet4.0方式连接mdb数据库的时候,对于设有access数据库密码的mdb的访问居然报错“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开”。ADOConnection.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False; Password=Psd;Data Source=filename.mdb" 不能用Password的形式定义数据库密码,应该改成: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=filename.mdb ;Persist Security Info=False;Jet OLEDB:Database Password=Psd
 
工作组信息文件丢失 ====> 需要工作组文件。 工作组文件一般是.MDA文件,比如System.MDA接连字符应写成:'Provider=Microsoft.Jet.OLEDB.4.0;Password=' + 密码 + ';User ID=' + 用户名+ ';Data Source=' + Access文件 + ';Persist Security Info=True;Jet OLEDB:System database=' + System.MDA文件;
 
access数据库的密码基本上形同虚设。不过看一下下面的,或许能有所帮助。1,新建Project。  2,在FORM中放入ADOConnection,ADOQuery,DataSource,Datagrid控件。  3,双击ADOConnection控件,然后点击Build...按钮,在“提供者”页中选择“Microsoft Jet 4.0 OLE DB   Provider”,然后点击“下一步”按钮,在“连接”页中选择要连接的Access数据库的路径和数据库的文件名,这时如果点“测试连接”按钮时,出现“初始化提供者时发生错误,测试连接失败,密码无效”的错误提示。   4,这时点“所有”页,然后双击“Jet OLEDB:Database Password”,出现对话框,添入密码后,选择“连接”页中的“测试连接”按钮,出现“测试连接成功”的对话框。把ADOConnection控件的LoginPromtp设为false.  5,设置连接完成。with ADOConnection1 do begin ConnectionString := 'Provider = MicroSoft.jet.OLEDB.4.0;'+ 'Persist Security Info = False'+ 'Data Source=D:/*.mdb;'+//数据库本地目录 'Mode = ReadWrite;'+ 'Jet OLEDB:Database Password=*****;'// 加入密码 Connected := True;//Open DataBase end;用:ADOConnection1链接数据库 ,d在窗体的show事件中:(注:ADOConnection1的ConnectionString属性要清空,否则会出错!),试试吧!j:='provider=Microsoft.Jet.OLEDB.4.0;user ID=Admin;Data Source=' +ExtractFilePath(Application.ExeName)+'Database.mdb;' +'Mode=Share Deny None;Extended Properties="";' +'Jet OLEDB:System database="";' +'Jet OLEDB:Registry Path="";' +'Jet OLEDB:Database Password="123";' //设定密码为123 +'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:Don'+''''+'t Copy Locale on Compact=False;' +'Jet OLEDB:Compact Without Replica Repair=False;' +'Jet OLEDB:SFP=False'; ADOConnection1.LoginPrompt:=false;ADOConnection1.ConnectionString:=j;
 
4,这时点“所有”页,然后双击“Jet OLEDB:Database Password”,出现对话框,添入密码后,选择“连接”页中的“测试连接”按钮,出现“测试连接成功”的对话框。把ADOConnection控件的LoginPromtp设为false.这句很重要的!!!
 
写语句动态连接。
 
问题解决了吗
 

Similar threads

顶部