2013-02-11 3 views
0

Eh bien, je ne sais pas comment expliquer ce problème, j'ai deux connexions OLE DB que je dois fusionner et envoyer à une destination oledb, les colonnes oledb source sont:SSIS L'opération OLE DB à plusieurs étapes a généré des erreurs

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)) 

Destination:

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

Cartographie:

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

Je dois convertir un grand nombre de colonnes en nvarchar (255), (je pense que ce problème), mais quand je lance le programme, cela se produit:

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

Messages d'erreur:

[OLE DB Destination [5679]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".

[OLE DB Destination [5679]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "OLE DB Destination Input" (5692)" failed because error code 0xC020907B occurred, and the error row disposition on "input "OLE DB Destination Input" (5692)" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure.

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "OLE DB Destination" (5679) failed with error code 0xC0209029 while processing input "OLE DB Destination Input" (5692). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Sort" (4898) failed with error code 0xC0047020 while processing input "Sort Input" (4899). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.

Avertissements:

[SSIS.Pipeline] Warning: Warning: Could not open global shared memory to communicate with performance DLL; data flow performance counters are not available. To resolve, run this package as an administrator, or on the system's console.

S'il vous plaît aider, je suis vraiment frustré et stressé en ce moment, donc je ne peux pas me l'expliquer mieux, si vous ne comprenez pas quelque chose, s'il vous plaît demander et je vais essayer de fais le mieux.

+0

vous devez publier les détails de 'Il peut y avoir des messages d'erreur postés avant cela avec plus d'informations sur l'échec.' – Beth

+0

Comme l'a dit Beth, continuez à parcourir le journal des erreurs (c'est très verbeux) jusqu'à ce que vous trouviez l'erreur réelle. Les messages postés ci-dessus ne sont pas utiles, il y aura quelque chose de plus utile avant cela. –

+0

Une autre technique de dépannage potentiellement utile consiste à rediriger la sortie d'erreur de votre destination OLE vers un fichier plat, afin que vous puissiez au moins voir quels enregistrements causent des problèmes. –

Répondre

1

Je ne peux pas être sûr sans voir les correspondances de colonne réelle dans votre composant de destination OLE DB, mais le fait que COD_CTR est défini comme NUMERIC (18,0) dans tbl clientes totales et NVARCHAR (4) RUTERO_FICHA_RED semble très suspecte.

+0

A l'origine c'est un char (4), j'ai essayé de le changer en chaîne, int, numérique, mais ne fonctionne toujours pas et échoue dans le même nombre de lignes (7756). (cartographie ajoutée) – Desu

0

Edmund Schweppe m'a donné l'idée, le problème de la conversion de données, je dois transformer toutes les métadonnées dans la même destination oledb, comme ceci: enter image description here

(Type de données Identique à destination de table dbo.RUTERO_FICHA_RED) .

Merci pour l'aide!

Questions connexes