我创建了我的第一个SSIS包。我通过一个文件夹为每个容器提供了一个循环。数据流具有派生列任务和4个查找。当我在Visual Studio(2013)中运行包时,它从第一个文件开始并到达目的地,但它确实插入了它只挂起文本"验证OLE DB目的地1"在状态栏中。
文件位于我的硬盘上,目标数据库位于区域设置网络上。我使用系统管理员帐户确保用户具有足够的访问权限。
我也无法从SSMS查询目标数据库表。
任何人都知道可能出现什么问题以及如何解决它?
抱歉这个非特定问题。在我的ssis控制流中,我有一个for循环容器,它包含一个数据流任务,用于导入容器循环的每个文件中的所有数据。连接到任务,是两个移动文件任务取决于导入任务的成功或失败。奇怪的是,我移动了一个文件,没有数据插入数据库,并且每个循环在第一个循环后挂起(该文件夹包含150个文件)。当这个ssis进程挂起时,我无法使用select *查询数据库,没有错误只是说"执行查询"。
后者。它完成了第一轮(将文件移动到我的成功文件夹)然后停止了"仍在工作"数据导入任务上的图标。但即使文件移动,也不会插入数据。当事务处理完所有文件后,事务会先提交吗?
编辑:控制流和数据流的图像
答案 0 :(得分:0)
答案发现在"锁定表"选项。由于两个目的地都是同一个表,因此第一个目标锁定它的i guest,当第二个目标命中同一个表时它被锁定并等待它被解锁。而这种情况并没有发生,因为它尚未做好准备。