从控制台应用程序触发时,SSIS,批量插入任务失败

时间:2011-02-07 14:08:48

标签: .net visual-studio ssis

我有一个包执行多个任务,包括批量插入任务。从Visual Studio运行时,这没关系。我有一个控制台应用程序,它将运行相同的程序包但在使用以下内容执行批量插入时失败:

  

出现以下错误消息时出错:“SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E21。OLE DB记录可用。源:”Microsoft OLE DB服务组件“Hresult:0x80040E21描述:“多步OLE DB操作生成错误。检查每个OLE DB状态值(如果可用)。没有工作。“。”。

Visual Studio和控制台应用程序都作为具有sysadmin角色的同一用户运行。在批量插入之前,相同的包创建了一些表,这在两种情况下都是成功的。

非常感谢任何帮助。

更新 成功运行的任务使用ADO.NET连接,而批量插入任务使用OLEDB。这与它有什么关系吗?

3 个答案:

答案 0 :(得分:1)

这只是在黑暗中拍摄的......

仔细检查您传递给服务器的批量插入文件的文件路径,在调试器中运行时,环境变量可能会有很大不同(很可能是工作目录设置在VS内但不是在你的时候在控制台内运行它。将文件从相对路径更改为完整路径可能会修复它。

答案 1 :(得分:0)

使用“高级编辑”检查OLEDB源中的输出列。检查数据类型和长度,查找源和目标之间的任何不匹配。

答案 2 :(得分:0)

有些东西干扰了我没有时间进行全面调查的OLEDB连接 - 可能是GPO ......?

使用ADO.NET连接而不是OLEDB连接,这意味着我必须使用SQL任务而不是BULK INSERT任务。

相关问题