【问题标题】:How do I work around the "The process cannot access the file .ISPAC because it is being used by another process" error?如何解决“进程无法访问文件 .ISPAC,因为它正被另一个进程使用”错误?
【发布时间】:2019-03-07 19:26:54
【问题描述】:

我使用 SSDT 和 Visual Studio 执行了一个 SSIS 包。当我尝试执行另一个程序包时,我收到一条错误消息“该进程无法访问文件 XXXX.ispac,因为它正在被另一个进程使用”。我已经尝试重新启动,但那是背后的痛苦。我该如何解决这个错误?

【问题讨论】:

    标签: visual-studio ssis sql-server-data-tools


    【解决方案1】:

    在开发 SSIS 包时,我收到错误“进程无法访问文件 '.ispac' 因为它正被另一个进程使用”*。

    尝试关闭 SSDT 并再次运行它,但是在编译时我们仍然遇到同样的错误。然后,在网上搜索后,我们得到了解决方案:

    解决方案:

    1. 进入任务管理器->详情选项卡。
    2. 找到进程“DtsDebugHost.exe”。
    3. 杀死这个进程。

    此过程可能有多个实例。杀光他们。 这样做后,我再次尝试编译包,成功了。

    【讨论】:

    • 任务管理器中 DtsDebugHost.exe 的进程名称可能被视为 SSIS 调试主机。
    【解决方案2】:

    您可以检查您的补丁级别。我在 2015 年发布的 SSDT 中更频繁地看到这一点,但从那以后就没有再经常咬我了。

    查找并杀死进程

    Sysinternals 有一个名为Process Explorer 的出色工具。它是免费的,不需要安装,可以帮助您查看计算机上发生的一切。在这种情况下,您希望找到在您的文件 (MyProject.ispac) 上有其肮脏手指的进程,然后将其杀死。

    https://helpcenter.gsx.com/hc/en-us/articles/115015880627-How-to-Identify-which-Windows-Process-is-Locking-a-File-or-Folder

    另一种不需要运行 Process Explorer 的方法是将构建从 Development 更改为 Release(然后再返回)。

    Chicken Sandwich No Pickles 通过 cmets 询问

    如何从开发转换为发布?

    在您的工具栏中,单击您在下拉列表中看到“开发”的位置(或右键单击解决方案资源管理器中的解决方案)

    在配置管理器中,您可能/可能没有配置下可用的列表。早期版本的 SSIS 项目预定义了开发/发布配置,但看起来较新的项目没有。如果您没有其他选择,请通过<New...> 制作一个

    复制开发配置中的值等瞧!

    现在,当您调试时,ProjectFolder/bin/Release 将存在,dtsdebughost.exe 将锁定该文件并释放指向 ProjectFolder/bin/Development/Project.ispac 的指针

    【讨论】:

    • 我如何从开发转换为发布?
    • @ChickenSandwichNoPickles 添加了解释
    猜你喜欢
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 2015-12-07
    相关资源
    最近更新 更多