web-dev-qa-db-fra.com

comment résoudre DTS_E_OLEDBERROR. en ssis

Dans un paquet ssis constitué d'une tâche de flux de données, contenant Une source OLEDB et une cible OLDB .. fournisseur est un client natif SQL .. Ceci était utilisé pour s'exécuter correctement .. mais présente maintenant une erreur, comme illustré ci-dessous ..

S'il vous plaît dites-moi comment le résoudre? Le changer en ado.net?

OS: Windows 7 Professional et la base de données est SQL Server 2000

[Axe_Data [737]] Erreur: Code d'erreur SSIS DTS_E_OLEDBERROR. Une erreur de base de données OLE s'est produite. Code d'erreur: 0x80004005 . Un enregistrement de base de données OLE est disponible. Source: "Client natif Microsoft SQL Server 10.0" Résultat: 0x80004005 Description: "Échec du lien de communication" . Un enregistrement de base de données OLE est disponible. Source: "Client natif Microsoft SQL Server 10.0" Résultat: 0x80004005 Description: "Fournisseur TCP: le délai de temporisation du sémaphore a expiré.

".

Je suis dans l'aide nécessaire pour résoudre un problème avec SSIS. J'essaie d'exporter/d'importer des données à l'aide de SSIS d'un cluster SQL vers un autre. Les deux sont SQL 2008 Ent. 64 bits. Les deux fonctionnent sur Win2k8 Ent. 64 bits. La destination est Win2k8 R2. 

Le problème que je rencontre est intermittent mais très fréquent. La connexion SSIS est interrompue à différentes étapes. Parfois échouant sur la première tâche, parfois sur la dernière .. parfois, il termine la première itération complètement (dans une boucle for-each) et échoue à la suite de l'itération. 

Une version identique de ce package était exécutée par le passé sur une destination différente sans échec. La destination précédente était un serveur unique (non mis en cluster) fonctionnant sous Win2k3 Standard et SQL 2005 Std. 64 bits. 

Le nouveau serveur de destination est totalement libre de trafic. A beaucoup de CPU/mémoire, etc. Le package a été exécuté à partir du serveur source ou du serveur de destination avec des résultats similaires. 

Voici le résultat d'une tâche d'importation/exportation simple:

  • Copie dans [dbo]. [AGGSLIVE_Bandwidth] (erreur) Messages Erreur 0xc0202009: Tâche de flux de données 1: code d'erreur SSIS DTS_E_OLEDBERROR. Une erreur de base de données OLE s'est produite. Code d'erreur: 0x80004005 . Un enregistrement de base de données OLE est disponible. Source: "Client natif Microsoft SQL Server 10.0" Résultat: 0x80004005 Description: "Échec du lien de communication" . Un enregistrement de base de données OLE est disponible. Source: "Client natif Microsoft SQL Server 10.0" Résultat: 0x80004005 Description: "Fournisseur TCP: une connexion existante a été fermée de force par l'hôte distant ." . (Assistant Importation et exportation SQL Server)

Erreur 0xc0209029: Tâche de flux de données 1: code d'erreur SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR. "L'entrée" Entrée de destination "(62)" a échoué car le code d'erreur 0xC020907B s'est produite et la disposition des lignes d'erreur sur "entrée" L'entrée de destination "(62)" spécifie un échec sur erreur. Une erreur s'est produite sur l'objet spécifié du composant spécifié. Il peut y avoir des messages d'erreur postés auparavant avec plus d'informations sur l'échec . (Assistant d'importation et d'exportation SQL Server)

Erreur 0xc0047022: Tâche de flux de données 1: code d'erreur SSIS DTS_E_PROCESSINPUTFAILED. La méthode ProcessInput sur le composant "Destination - AGGSLIVE_Bandwidth" (49) a échoué avec le code d'erreur 0xC0209029 lors du traitement de l'entrée "Destination Input" (62). Le composant identifié a renvoyé une erreur de la méthode ProcessInput. L'erreur est spécifique au composant, mais l'erreur est fatale et entraînera l'arrêt de la tâche de flux de données. Il peut y avoir des messages d'erreur postés auparavant avec plus d'informations sur l'échec . (Assistant d'importation et d'exportation SQL Server)

Erreur 0xc0209017: Tâche de flux de données 1: le code d'erreur 0xC0047020 ..__ a échoué en définissant la fin du jeu de lignes pour le tampon (Assistant d'importation et d'exportation SQL Server)

Erreur 0xc0047038: Tâche de flux de données 1: Code d'erreur SSIS DTS_E_PRIMEOUTPUTFAILED. La méthode PrimeOutput sur le composant "Source - Query" (1) a renvoyé le code d'erreur 0xC0209017. Le composant a renvoyé un code d'échec lorsque le moteur de pipeline a appelé PrimeOutput (). La signification du code d'échec est définie par le composant, mais l'erreur est fatale et le pipeline a cessé de s'exécuter. Il peut y avoir des messages d'erreur postés auparavant avec plus d'informations sur l'échec . (Assistant d'importation et d'exportation SQL Server)

11
user1254579

J'ai eu ce même problème et il semblait être lié à l'utilisation de la même connexion de base de données pour les tâches simultanées. Il pourrait y avoir des solutions alternatives (peut-être mieux), mais je l’ai résolue en mettant MaxConcurrentExecutables à 1.

9
Gerardo Lima

S'il est lié au package SSIS, il est possible que la base de données source contienne peu de lignes vides. Après les avoir supprimés, ce problème n'apparaît plus.

3

Connaître la version de Windows et SQL Server peut être utile dans certains cas. À partir de Native Client 10.0, je déduis SQL Server 2008 ou SQL Server 2008 R2.

Il y a quelques choses possibles à vérifier, mais je vérifierais si "l'augmentation de la priorité" a été configurée sur le serveur SQL. Ce paramètre est obsolète et sera éventuellement supprimé. Le problème est que cela peut priver le système d'exploitation des ressources nécessaires. Voir les notes à:

http://msdn.Microsoft.com/en-in/library/ms180943(v=SQL.105).aspx

Si 'priorité boost' a été configuré sur 1, récupérez-le à 0.

exec sp_configure 'priority boost', 0;
RECONFIGURE;
3
RLF

J'ai rencontré un problème similaire avec ma commande de base de données OLE et je l'ai résolu en définissant la propriété ValidateExternalMetadata dans le composant sur False.

Je commencerais par désactiver le déchargement TCP. Quelques problèmes sont à l'origine de problèmes de connectivité intermittents et c'est généralement le coupable.

Remarque: j'ai vu ce paramètre causer des problèmes sous Win Server 2003 et Win Server 2008.

http://blogs.msdn.com/b/mssqlisv/archive/2008/05/27/sql-server-intermittent-connectivity-issue.aspx

http://technet.Microsoft.com/en-us/library/gg162682(v=ws.10).aspx

http://blogs.msdn.com/b/psssql/archive/2008/10/01/windows-scalable-networking-pack-possible-performance-and-concurrency-impacts-to-sql-server-workloads. aspx

2
Adam Haines

Je viens d'avoir ce problème et mon problème était que j'avais des lignes nulles dans un fichier csv, qui contenait le texte "nul" plutôt que d'être vide.

2
Neil P

J'ai fait face au même problème.

Décochez la case ("Dans l'Assistant, décochez la case" La première ligne contient des noms de colonnes ") et avant d'exécuter l'Assistant, assurez-vous d'avoir ouvert votre feuille Excel.

Ensuite, lancez l’assistant en désélectionnant la case à cocher.

Cela a résolu mon problème.

1
T-Jayanth Dore