【问题标题】:How do I delete an Access data source in an SSIS package?如何删除 SSIS 包中的 Access 数据源?
【发布时间】:2011-05-09 13:29:50
【问题描述】:

我有一个 SSIS 2008 包,它从 Access 数据库(OLEDB 数据源)读取数据并使用它来更新 SQL Server 表。

更新完成后,我希望包删除 Access 数据库。我尝试了一个文件系统任务和一个脚本任务,但都没有工作,因为包保持数据库连接打开。

我收到错误消息:

进程无法访问文件 'C:.....\abc.mdb' 因为它正在 被另一个进程使用。

如何获取包释放数据库连接?

我尝试在 ConnectionManager 对象上调用 Dispose() 方法,但无济于事。我注意到 ConnectionManager 类有一个 ReleaseConnection 方法,但我认为这只会释放使用相关 AcquireConnection 方法创建的新连接。我需要 SSIS 释放它自己的内部连接,以便可以删除 MDB 文件。

有什么建议吗?

提前致谢。

【问题讨论】:

  • 你在哪里执行包?从管理工作室内部?或者你是远程调用这个包?这会影响连接的保留方式。
  • 从 Visual Studio 内部运行时,它工作正常。但是,当从 Management Studio 运行或通过存储过程远程运行时,它不会释放连接。

标签: sql ssis


【解决方案1】:

您可以尝试设置一个作业来运行 ssis 包,它有两个步骤,一个是运行包,一个是删除文件。如果 pacakge 运行完毕,它应该释放连接。

【讨论】:

  • 出色的横向思维。工作正常!非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多