SSIS多步OLE DB操作生成错误

时间:2013-02-11 21:10:34

标签: ssis oledbconnection

好吧,我不知道如何解释这个问题,我有两个OLE DB连接,我需要合并并发送到oledb目的地,源oledb列是:

tbl clientes totales:

RUT_CLIE numeric(18,0), 
DV(string(1)), CLI_NOM(string(40)), 
CLI_CAT_SUB(string(3)), 
CLI_STA(string(5)), 
CLI_SUB_STA(string(5)), 
**COD_CTR (numeric(18,0))  <- JOIN KEY**, 
nom_ejec(string(50)),
nom_suc(string(100)), 
nom_suc_gpo(string(100)), 
zonal(string(50)), 
id_cargo(string(50)), 
CLI_GRP_NOM(string(25)),  
CANAL(string(50)), 
ACTIVO(int), 
VINCULADO(int), 
VINCULADO_TRX(int), 
CTACTE(int), 
CLI_CAT(string(5))

tbl cartera 1 1:

cod_cartera (numeric(18,0))  <- JOIN KEY
cargo(string(100)),
nom_suc_gpo(string(100))

目的地:

http://i.stack.imgur.com/4NK91.jpg

映射:

http://i.stack.imgur.com/eR6Oa.jpg

我需要将许多列转换为nvarchar(255),(我认为这是问题),但是当我运行程序时,会发生这种情况:

http://i.stack.imgur.com/zUASR.jpg

错误讯息:

  

[OLE DB目标[5679]]错误:SSIS错误代码DTS_E_OLEDBERROR。   发生OLE DB错误。错误代码:0x80040E21。 OLE DB记录   是可用的。来源:“Microsoft SQL Server Native Client 10.0”   Hresult:0x80040E21描述:“多步OLE DB操作   生成的错误。检查每个OLE DB状态值(如果可用)。没有   工作完成了。“。

     

[OLE DB Destination [5679]]错误:SSIS错误代码   DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “输入”OLE DB目标   输入“(5692)”失败,因为发生错误代码0xC020907B,并且   “输入”OLE DB目标输入“(5692)”上的错误行处置   指定错误失败。指定对象发生错误   指定组件的。之前可能会发布错误消息   这有关于失败的更多信息。

     

[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。该   组件“OLE DB Destination”(5679)上的ProcessInput方法失败   处理输入“OLE DB Destination”时出现错误代码0xC0209029   输入“(5692)。标识的组件从中返回错误   ProcessInput方法。该错误特定于组件,但是   错误是致命的,将导致数据流任务停止运行。   在此之前可能会发布错误消息以获取更多信息   关于失败。

     

[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。该   组件“Sort”(4898)上的ProcessInput方法失败,错误代码   0xC0047020处理输入“排序输入”(4899)。确定   component从ProcessInput方法返回错误。错误是   特定于组件,但错误是致命的,将导致   数据流任务停止运行。可能会发布错误消息   在此之前,有关失败的更多信息。

警告:

  

[SSIS.Pipeline]警告:警告:无法打开全局共享内存   与性能DLL进行通信;数据流性能计数器   不可用。要解决此问题,请以管理员身份运行此程序包   或者在系统的控制台上。

请帮忙,我现在非常沮丧和压力,所以我无法更好地解释自己,如果你不明白的话,请问,我会尽力让它变得更好。

2 个答案:

答案 0 :(得分:1)

如果没有看到OLE DB目标组件中的实际列映射,我无法确定,COD_CTRtbl clientes totales和NVARCHAR中定义为NUMERIC(18,0)这一事实)在RUTERO_FICHA_RED中看起来非常可疑。

答案 1 :(得分:0)

Edmund Schweppe给了我这个想法,问题是数据转换,我必须将所有元数据转换为相同的oledb目的地,如下所示: enter image description here

(与dbo.RUTERO_FICHA_RED表目的地相同的数据类型)。

感谢您的帮助!