解释
用于 Jet 的 Microsoft OLE DB 提供程序返回的错误信息表明以下情况之一:
Microsoft® Access 数据库不是受保护的数据库,且指定的登录和密码不是无密码的 Admin。
Access 数据库受到保护,并且 HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\SystemDB 注册表键值未指向正确的 Access 工作组文件。受保护的 Access 数据库具有相应的工作组文件,其中包括应由上面的注册表键值指出的完整路径。
对策
验证当前 Microsoft SQL Server™ 的登录是否映射为无密码的 Admin。
如果正在访问的 Access 数据库受到保护,请确保上面的注册表键值指向 Access 工作组文件的完整路径名。
用于 Jet 的 Microsoft OLE DB 提供程序返回的错误信息表明以下情况之一:
Microsoft® Access 数据库不是受保护的数据库,且指定的登录和密码不是无密码的 Admin。
Access 数据库受到保护,并且 HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\SystemDB 注册表键值未指向正确的 Access 工作组文件。受保护的 Access 数据库具有相应的工作组文件,其中包括应由上面的注册表键值指出的完整路径。
对策
验证当前 Microsoft SQL Server™ 的登录是否映射为无密码的 Admin。
如果正在访问的 Access 数据库受到保护,请确保上面的注册表键值指向 Access 工作组文件的完整路径名。
ADOConnection.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False; Password=Psd;Data Source=filename.mdb" 程序运行到ADOConnection.open时出错,显示“无法启动应用程序,工作组信息文件丢失,或是已被其他用户已独占方式打开。”请问该OPEN语句该这样写?
注:该ACCESS数据库安装在服务器上,要求多用户可同时使用!
问题出在:
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