Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

CORRECTIF : Requête de nom en quatre parties qui contient une clause WHERE peut s'exécuter lentement sur un serveur lié SQL Server qui utilise le fournisseur OLE DB pour DB2 pour se connecter à un système DB2

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 2464256
Cet article s'applique également au produit suivant :
  • Le fournisseur Microsoft OLE DB pour DB2 3.0
Symptômes
Considérez le scénario suivant :
  • Vous installez le fournisseur Microsoft OLE DB pour DB2 sur un ordinateur.
  • Vous avez un serveur lié Microsoft SQL Server qui utilise le fournisseur OLE DB pour DB2 pour vous connecter à une instance d'un système IBM DB2.
  • Vous exécutez une requête sur le serveur lié SQL Server. La requête utilise une syntaxe de nom en quatre parties et unclause d'interroger une vue DB2 complexe sur les bases de données IBM DB2.
Dans ce scénario, la requête s'exécute lentement.

RemarqueCe problème peut également se produire lorsque la requête n'est pas utilisée pour interroger les vues de DB2.

Cause
Ce problème se produit car le fournisseur OLE DB pour DB2 n'utilise pas unclause dans unSÉLECTIONNEZ * À PARTIR DE< …="">requête.

Lorsque le fournisseur tente d'obtenir les informations de schéma, le fournisseur envoie unSÉLECTIONNEZ * À PARTIR DE< …="">instruction. Le processeur de requête distribuée (DQP) fournit unOpenRowsetAppelez pour le fournisseur OLE DB pour DB2 obtenir les informations de schéma pour la requête de nom en quatre parties. LeOpenRowsetAppelez utilise leDBPROP_MAXROWSpropriété. Vous pouvez définir une valeur différente de zéro pour leDBPROP_MAXROWSpropriété pour limiter le nombre de lignes renvoyées dans la requête. Toutefois, le fournisseur OLE DB pour DB2 ignore leDBPROP_MAXROWSpropriété et leclause est supprimé de laSÉLECTIONNEZ * À PARTIR DE< …="">instruction avant d'être envoyé à la base de données IBM DB2. Par conséquent, DB2 peut être lent à retourner les résultats de la requête si lesSÉLECTIONNEZ * À PARTIR DE< …=""> la requête est complexe.
Résolution
Un correctif n'est actuellement pas disponible pour le fournisseur Microsoft OLE DB pour DB2 2.0.

Informations sur le correctif

Un correctif est disponible auprès de Microsoft. Toutefois, ce correctif est conçu uniquement pour corriger le problème décrit dans cet article. Appliquer ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour de logiciels qui comprendra ce correctif.

Si le correctif est disponible au téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » en haut de cet article de la Base de connaissances. Si cette section n'apparaît pas, contactez le Service clientèle de Microsoft et de Support pour obtenir le correctif.

RemarqueSi des problèmes supplémentaires se produisent ou si des procédures de dépannage est nécessaire, il se peut que vous deviez créer une demande de service distinct. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes qui ne relèvent pas de ce correctif spécifique. Pour une liste complète des numéros de téléphone Microsoft Services de Support technique ou pour créer une demande de service distinct, visitez le site Web Microsoft suivant :RemarqueLe formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, il est dans la mesure où un correctif n'est pas disponible pour cette langue.

Conditions préalables

  • Pour appliquer le correctif pour le fournisseur Microsoft OLE DB pour DB2 1.0, vous devez disposer de fournisseur OLE DB pour DB2 1.0 Service Pack 1 (SP1).
  • Pour appliquer le correctif pour le fournisseur Microsoft OLE DB pour DB2 3.0, vous devez disposer de fournisseur OLE DB pour DB2 3.0 est installé.
  • Pour appliquer le correctif pour Microsoft Host Integration Server 2009, vous devez disposer de Host Integration Server 2009 est installé.
  • Pour appliquer le correctif de Microsoft Host Integration Server 2010, vous devez disposer de Host Integration Server 2010 est installé.

Notes

La nécessité de redémarrer

Vous n'avez pas à redémarrer l'ordinateur après avoir appliqué ce correctif.

Informations de remplacement de correctif

Ce correctif ne remplace aucun autre correctif.

Informations sur les fichiers

La version anglaise de ce correctif possède les attributs de fichier (ou attributs de fichier ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont répertoriés dans le temps universel coordonné (UTC). Lorsque vous affichez les informations du fichier, il est converti en heure locale. Pour connaître la différence entre l'UTC et l'heure locale, utilisez laFuseau horairel'onglet dans laDate et heureélément dans le panneau de configuration.
Pour toutes les x 86 de fournisseur OLE DB pour DB2 1.0
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-formeSP requis
Db2oledb.dll7.0.3068.0520,01630-Nov-201022 : 46x 86SERVICE PACK 2
Microsoft.hostintegration.dataaccesslibrary.dll7.0.3068.02,553,75230-Nov-201022 : 46x 86SERVICE PACK 2
Microsoft.hostintegration.dataaccesstool.exe7.0.3068.0616,33630-Nov-201022 : 46x 86SERVICE PACK 2
MSEIDRDA.dll7.0.3068.0805,20030-Nov-201022 : 46x 86SERVICE PACK 2
Snanls.dll7.0.3068.0104,27230-Nov-201022 : 46x 86SERVICE PACK 2
Trnsbidi.dll7.0.3068.059,72830-Nov-201022 : 46x 86SERVICE PACK 2
Pour toutes les x 64 de fournisseur OLE DB pour DB2 1.0
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-formeSP requisBranche de service
Db2oledb.dll7.0.3068.0765,26418-Dec-201000 : 26x 64SERVICE PACK 2Non Applicable
Microsoft.hostintegration.dataaccesslibrary.dll7.0.3068.02,549,65618-Dec-201000 : 26x 64SERVICE PACK 2Non Applicable
Microsoft.hostintegration.dataaccesstool.exe7.0.3068.0612,24018-Dec-201000 : 26x 64SERVICE PACK 2Non Applicable
MSEIDRDA.dll7.0.3068.01,404,24018-Dec-201000 : 25x 64SERVICE PACK 2Non Applicable
Snanls.dll7.0.3068.0127,82418-Dec-201000 : 26x 64SERVICE PACK 2Non Applicable
Trnsbidi.dll7.0.3068.067,92018-Dec-201000 : 26x 64SERVICE PACK 2Non Applicable
Db2oledb.dll7.0.3068.0520,01618-Dec-201000 : 26x 86AucunSYSWOW
MSEIDRDA.dll7.0.3068.0805,20018-Dec-201000 : 25x 86AucunSYSWOW
Snanls.dll7.0.3068.0104,27218-Dec-201000 : 25x 86AucunSYSWOW
Trnsbidi.dll7.0.3068.059,72818-Dec-201000 : 26x 86AucunSYSWOW
Pour toutes les x 86 de fournisseur OLE DB pour DB2 3.0
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
Db2oledb.dll8.0.4308.0628,56013-Jan-201122 : 30x 86
Microsoft.hostintegration.dataaccesslibrary.dll8.0.4308.0788,37613-Jan-201122 : 30x 86
Msdrda.dll8.0.4308.0898,89613-Jan-201122 : 30x 86
Pour toutes les x 64 de fournisseur OLE DB pour DB2 3.0
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-formeBranche de service
Db2oledb.dll8.0.4308.0880,97613-Jan-201122 : 52x 64Non Applicable
Microsoft.hostintegration.dataaccesslibrary.dll8.0.4308.0788,37613-Jan-201122 : 52x 86Non Applicable
Msdrda.dll8.0.4308.01,548,62413-Jan-201122 : 52x 64Non Applicable
Db2oledb.dll8.0.4308.0628,56013-Jan-201122 : 30x 86SYSWOW
Msdrda.dll8.0.4308.0898,89613-Jan-201122 : 30x 86SYSWOW
Toutes prises en charge les versions IA-64 du fournisseur OLE DB pour DB2 3.0
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-formeBranche de service
Db2oledb.dll8.0.4308.01,721,16813-Jan-201123 : 11IA-64Non Applicable
Microsoft.hostintegration.dataaccesslibrary.dll8.0.4308.0788,37613-Jan-201123 : 11x 86Non Applicable
Msdrda.dll8.0.4308.02,429,77613-Jan-201123 : 11IA-64Non Applicable
Db2oledb.dll8.0.4308.0628,56013-Jan-201122 : 30x 86SYSWOW
Msdrda.dll8.0.4308.0898,89613-Jan-201122 : 30x 86SYSWOW
Pour toutes les x 86 de Host Integration Server 2009
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
Db2oledb.dll8.0.3791.2540,49617-Déc-201003 : 05x 86
Drdaresync.exe8.0.3791.2478,04017-Déc-201003 : 05x 86
Microsoft.hostintegration.Adapters.msdb2.Management.dll8.0.3791.2407,47217-Déc-201003 : 05x 86
Microsoft.hostintegration.Adapters.msdb2.Runtime.dll8.0.3791.279,78417-Déc-201003 : 05x 86
Microsoft.hostintegration.dataaccesslibrary.dll8.0.3791.21,279,89617-Déc-201003 : 05x 86
Microsoft.hostintegration.msdb2client.dll8.0.3791.2239,50417-Déc-201003 : 05x 86
Msdrda.dll8.0.3791.2882,00017-Déc-201003 : 05x 86
Snanls.dll8.0.3791.2109,39217-Déc-201003 : 05x 86
Pour toutes les x 64 de Host Integration Server 2009
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-formeBranche de service
Db2oledb.dll8.0.3791.2763,72817-Déc-201003 : 10x 64Non Applicable
Drdaresync.exe8.0.3791.2675,16017-Déc-201003 : 10x 64Non Applicable
Microsoft.hostintegration.Adapters.msdb2.Management.dll8.0.3791.2407,47217-Déc-201003 : 10x 86Non Applicable
Microsoft.hostintegration.Adapters.msdb2.Runtime.dll8.0.3791.279,78417-Déc-201003 : 10x 86Non Applicable
Microsoft.hostintegration.dataaccesslibrary.dll8.0.3791.21,279,89617-Déc-201003 : 10x 86Non Applicable
Microsoft.hostintegration.msdb2client.dll8.0.3791.2239,50417-Déc-201003 : 10x 86Non Applicable
Msdrda.dll8.0.3791.21,527,63217-Déc-201003 : 10x 64Non Applicable
Snanls.dll8.0.3791.2128,33617-Déc-201003 : 10x 64Non Applicable
Db2oledb.dll8.0.3791.2540,49617-Déc-201003 : 05x 86SYSWOW
Msdrda.dll8.0.3791.2882,00017-Déc-201003 : 05x 86SYSWOW
Snanls.dll8.0.3791.2109,39217-Déc-201003 : 05x 86SYSWOW
Pour toutes les x 86 de Host Integration Server 2010
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
Db2oledb.dll8.5.4257.2640,84817-Déc-201022 : 58x 86
Drdaresync.exe8.5.4257.2530,26417-Déc-201022 : 58x 86
Microsoft.hostintegration.dataaccesslibrary.dll8.5.4257.21,300,37617-Déc-201022 : 58x 86
Microsoft.hostintegration.drdalink.dll8.5.4257.258,76017-Déc-201022 : 58x 86
Msdrda.dll8.5.4257.2976,72017-Déc-201022 : 58x 86
Pour toutes les x 64 de Host Integration Server 2010
Db2oledb.dll8.5.4257.2898,38417-Déc-201023 : 04x 64
Drdaresync.exe8.5.4257.2717,65617-Déc-201023 : 04x 64
Microsoft.hostintegration.dataaccesslibrary.dll8.5.4257.21,300,37617-Déc-201023 : 04x 86
Microsoft.hostintegration.drdalink.dll8.5.4257.269 00017-Déc-201023 : 04x 64
Msdrda.dll8.5.4257.21,693,52017-Déc-201023 : 04x 64
RemarqueEn raison des dépendances de fichier, le correctif le plus récent pour Host Integration Server qui contient ces fichiers peut également contenir des fichiers supplémentaires.
Statut
Microsoft a confirmé qu'il s'agit d'un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».
Contournement
Pour contourner ce problème, utilisez unOPENQUERYfonction au lieu d'un nom à quatre éléments dans la requête.

Par exemple, la requête peut s'exécuter lentement lorsque vous exécutez une requête semblable au suivant.

SELECT * FROM LINKED_SERVER.CATALOG1.SCHEMA1.DB2_VIEW WHERE COLUMN1 = '12345'
Cette requête s'exécute plus rapidement lorsqu'il utilise leOPENQUERYfonction et semblables aux suivantes :
SELECT * FROM OPENQUERY(LINKED_SERVER, ‘SELECT * FROM SCHEMA1.DB2_VIEW  WHERE COLUMN1 = '12345'’) 
Plus d'informations
Après avoir appliqué cette mise à jour, le fournisseur OLE DB pour DB2 envoie une requête qui ressemble à la suivante, si laOpenRowsetappel inclut une valeur différente de zéro pourDBPROP_MAXROWS:
SELECT * FROM tablename  FETCH FIRST nRows ROWS ONLY

Si leDBPROP_MAXROWSpropriété est définie sur0OLE DB pour DB2 envoie la requête suivante pour obtenir les informations de schéma, et cette requête peut s'exécuter lentement :

SELECT * FROM tablename
Les produits tiers qui traite de cet article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft offre aucune garantie, expresse ou implicite, concernant les performances ou la fiabilité de ces produits.

Avertissement : cet article a été traduit automatiquement

Propriétés

ID d'article : 2464256 - Dernière mise à jour : 03/14/2011 07:41:00 - Révision : 2.0

Microsoft OLE DB Provider for DB2 1.0, Microsoft OLE DB Provider for DB2 2.0, Microsoft Host Integration Server 2009, Microsoft Host Integration Server 2010

  • kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2464256 KbMtfr
Commentaires
t=">