尝试从Access导入数据到SQL Server时出错

时间:2012-09-14 14:47:39

标签: sql-server sql-server-2008 ms-access ssis

我正在尝试使用带有ACE OLEDB驱动程序的OpenDataSource从Access 2003 mdb数据库导入数据。我收到了这个错误:

 Description: OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "Cannot start your application. The workgroup information file is missing or opened exclusively by another user.".

我不知道它在说什么,我的互联网搜索没有帮助。它们都是指链接服务器,我尝试过的任何东西都没有解决问题。这个错误意味着什么,我需要做些什么来解决它?

执行导入的sproc从SSIS包调用,该包通过文件位置表并为每个包调用sproc。我刚刚发现该程序包运行了大约半个小时,导致大约80个文件导入,然后才开始抛出此错误。我还没有找到有效的文件和没有的文件之间的任何区别。

2 个答案:

答案 0 :(得分:2)

来自Understanding the role of workgroup information files in Access security

  

使用a时,工作组信息文件是必需的组件   Microsoft Access数据库(MDB)。这两个文件都需要此文件   运行时安装和Microsoft Access的完整安装。   此文件是Microsoft Access安全性的重要组件。

     

如果您开发数据库应用程序,请务必使用   很好地理解工作组信息文件。这是一个很好的   想要保留申请发展过程的最后阶段   Access中的安全性。在此之前,您可以开发数据库   在不安全的数据库中申请。

     

工作组是在多用户中共享数据的一组用户   环境。当在数据库上实现安全性时,用户和   组帐户记录在工作组信息文件中。用户   密码也存储在工作组信息文件中。

     

重要信息:如果在数据库中建立Access安全性,则为Microsoft   建议您存储工作组信息的备份副本   存档在安全的位置。 如果文件丢失或损坏,唯一的方法   快速恢复工作组信息文件是恢复   来自备份副本的文件。如果您没有备份副本,则必须   使用相同的个人ID重新创建用户和组帐户   最初被分配。如果新的工作组信息文件不是   创建完全与原始文件一样,您将无法打开   带有工作组文件的数据库。

     

Access即使在数据库具有时也使用工作组信息文件   没有担保。默认的管理员用户帐户,存储在   工作组信息文件,用于打开所有不安全的   数据库。如果您为管理员用户分配密码,您将   重新打开数据库时收到登录提示。

答案 1 :(得分:1)

SQL Server正在尝试访问的Access数据库正被另一个用户使用。转到存储数据库的文件夹。使用Access 2003,数据库文件本身将以“mdb”结尾。如果存在具有相同名称但以“idb”结尾的文件,则表示当前正在使用“mdb”文件的用户。让用户退出数据库,然后运行您的包。如果找不到使用该文件的用户,请在另一个文件夹中复制该文件,然后编辑SSIS包以反映更改。