web-dev-qa-db-fra.com

Package SSIS créant Hresult: 0x80004005 Description: erreur "Le délai de connexion a expiré"

J'ai un package SSIS en cours d'exécution par un travail SQL exécuté deux fois par jour. J'ai récemment mis à jour le package SSIS en supprimant une clause where d'une instruction Select. Maintenant, les résultats ont environ 1800 lignes comparées à 650 auparavant. Lorsque j'exécute le nouveau package sur ma machine locale, tout se passe bien. Mais lorsque je le mets sur le serveur de production, il ne s'exécute pas et me donne Hresult: 0x80004005 Description: Erreur "Expiration du délai de connexion".

Cette erreur est généralement générée lorsque l'accès à distance n'est pas activé mais qu'il l'est. Le travail s'exécute sous mon compte, les droits ne devraient donc pas être un problème. En outre, le package fonctionnait sans problème auparavant et je n’ai modifié que la clause where qui agrandit la table de mille lignes. Je ne devrais donc pas avoir d’erreur de délai d’ouverture de session.

Je sais que ce n’est pas l’espace restant sur le serveur, car si je modifie le fichier de configuration du package SSIS et le dirige vers la base de données de production, tout fonctionne correctement.

Encore une fois, ce problème me dérange parce que quand je mets l'ancien paquetage avec l'ancienne clause where, tout fonctionne bien.

Quelqu'un a une idée de ce qui pourrait causer le problème?

Voici l'entrée du journal:

Executed as user: Services. ...sion 9.00.3042.00 for 32-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 1:49:21 PM Error: 2011-08-04 13:50:12.28 Code: 0xC0202009 Source: Brd Load Connection manager "DataBase" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Login timeout expired". An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.". An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "TCP Provider: A connection att... Process Exit Code 1. The step failed.

17
Hugo

J'ai finalement trouvé le problème. L'erreur n'était pas la bonne.

Apparemment, les sources Ole DB ont un bogue qui pourrait le faire planter et provoquer cette erreur. J'ai remplacé la destination OLE DB par une commande OLE DB contenant l'instruction insert, qui a été corrigée.

Le lien m’y est arrivé: http://social.msdn.Microsoft.com/Forums/en-US/sqlintegrationservices/thread/fab0e3bf-4adf-4f17-b9f6-7b7f9db6523c/

Strange Bug, j'espère que cela aidera d'autres personnes.

17
Hugo

La réponse ici n'est pas claire, alors je voulais ajouter plus de détails. 

À l'aide du lien fourni ci-dessus, j'ai effectué l'étape suivante.

Dans mon gestionnaire de configuration XML, j'ai changé le "fournisseur" en SQLOLEDB.1 plutôt qu'en SQLNCLI.1. Cela m'a permis de dépasser cette erreur.

Cette information est disponible sur le lien du PO affiché dans la réponse.

Le lien m’y est arrivé: http://social.msdn.Microsoft.com/Forums/en-US/sqlintegrationservices/thread/fab0e3bf-4adf-4f17-b9f6-7b7f9db6523c/

4
astaubin

J'ai eu une erreur similaire..Ceci peut être dû à deux raisons ..__ a. Si vous avez utilisé des variables, redéfinissez les expressions dans lesquelles les variables sont utilisées et assurez-vous que l'exoression est évaluée sans erreur . B. ) Si vous supprimez la feuille Excel et créez une feuille Excel à la volée dans votre colis.

0
Manoj Nayak