如何解决SSIS错误“Excel文件已由其他用户独占打开”?

时间:2017-03-01 19:28:14

标签: sql-server excel ssis sql-server-2012 ssis-2012

问题

我有一个我在Visual Studio 2015 for SQL Server 2012中创建的SSIS包。该包加载了一个制表符分隔文件和来自CRM的一些记录,进行了一些处理,并在共享驱动器上的excel文件中记录错误。当我从Visual Studio中运行包时,包正确执行而没有错误。但是,当我将程序包部署到服务器并尝试从服务器作为作业运行程序包时,我收到错误:

  

Microsoft Access数据库引擎无法打开或写入该文件。它已由另一个用户专门打开,或者您需要获得查看和写入其数据的权限。

尝试解决方案

  • 我已经检查了excel文件所在位置的文件夹权限,并将其更改为允许每个人拥有该文件夹的完全访问权限。我这样做是为了共享以及文件夹和单个文件

  • 我尝试直接运行该程序包并作为SQL Server作业的一部分

  • 我可以独立于应用程序打开文件,因此它似乎没有被其他用户锁定

1 个答案:

答案 0 :(得分:1)

搜索后,您可以尝试多种方法来解决此问题。你可以尝试一下:

  1. 验证文件是否未实际打开(检查任务管理器是否存在可疑的EXCEL.EXE进程)

  2. 确认没有可能同时打开此文件的其他SSIS包(或其他后台进程)

  3. 创建一个等待(excel)文件解锁的自定义任务

  4. <强>参考