Dépannage de la connectivité des packages
Integration Services inclut des fonctionnalités et des outils que vous pouvez utiliser pour dépanner la connectivité entre les packages et les sources de données à partir desquelles les packages extraient et chargent des données.
Dépannage des problèmes liés aux fournisseurs de données externes
Beaucoup de packages échouent lorsqu'ils communiquent avec des fournisseurs de données externes. Néanmoins, les messages que retournent ces fournisseurs à Integration Services apportent souvent des informations insuffisantes pour commencer à résoudre cet échec de communication. Pour traiter ce problème, Integration Services inclut des messages de journalisation qui vous permettent de résoudre les problèmes d'interaction d'un package avec des sources de données externes.
Activez la journalisation et sélectionnez l'événement Diagnostic du package pour afficher les messages de dépannage. Les composants Integration Services suivants peuvent écrire un message dans le journal avant et après chaque appel à un fournisseur de données externes :
Gestionnaire de connexions OLE DB, source OLE DB et destination OLE DB
Gestionnaire de connexions ADO.NET et source ADO .NET
Tâche d'exécution de requêtes SQL
Transformation de recherche, transformation de commande OLE DB et transformation de dimension à variation lente
Les messages de journal contiennent le nom de la méthode appelée. Par exemple, ils peuvent inclure la méthode Open d'un objet OLE DB Connection ou la méthode ExecuteNonQuery d'un objet Command. Les messages ont le format suivant, où '%1!s!' est un emplacement réservé pour les informations de méthode :
ExternalRequest_pre: The object is ready to make the following external request: '%1!s!'. ExternalRequest_post: '%1!s!'. The external request has completed.
Pour résoudre les problèmes d'interaction avec le fournisseur de données externes, passez en revue le journal pour savoir si chaque message transmis « avant » (ExternalRequest_pre) dispose d'un message transmis « après » (ExternalRequest_post) correspondant. Si aucun message postérieur correspondant n'existe, vous savez alors que le fournisseur de données externes n'a pas répondu comme prévu.
L'exemple suivant présente quelques exemples de lignes d'un journal contenant ces messages de journalisation :
ExternalRequest_pre: The object is ready to make the following external request: 'ITransactionJoin::JoinTransaction'. ExternalRequest_post: 'ITransactionJoin::JoinTransaction succeeded'. The external request has completed. ExternalRequest_pre: The object is ready to make the following external request: 'IDbConnection.Open'. ExternalRequest_post: 'IDbConnection.Open succeeded'. The external request has completed. ExternalRequest_pre: The object is ready to make the following external request: 'IDbConnection.CreateCommand'. ExternalRequest_post: 'IDbConnection.CreateCommand finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDbCommand.ExecuteReader'. ExternalRequest_post: 'IDbCommand.ExecuteReader finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDataReader.GetSchemaTable'. ExternalRequest_post: 'IDataReader.GetSchemaTable finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDataReader.Close'. ExternalRequest_post: 'IDataReader.Close finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDbConnection.Close'. ExternalRequest_post: 'IDbConnection.Close finished'. The external request has completed."
|
Voir aussi