CORRIGER : Le fournisseur Microsoft OLE DB pour DB2 échoue lorsqu’une constante de chaîne dans une requête contient un ' ?' littéral et que vous utilisez SSIS dans un environnement de Host Integration Server 2010

S’applique à : Microsoft Host Integration Server 2010

Symptômes


Vous essayez d’exécuter une instruction SQL complexe dans un environnement Microsoft Host Integration Server 2010. Lorsque l’instruction SQL contient un point d’interrogation (« ? ») littéral, fournisseur Microsoft OLE DB pour DB2 peut échouer. Par exemple, vous créez un nouveau package de Microsoft SQL Server Integration Services (SSIS) et vous insérez un package de flux de données. Vous créez une source OLE DB, et que vous insérez une instruction SQL qui contient un ' ?' littéral, comme dans l’exemple suivant :
SELECT NDECRE || '?'FROM TIGS981FETCH FIRST 10 ROWS ONLY
Dans ce scénario, lorsque vous fermez la boîte de dialogue, une puce rouge s’affiche. En outre, dans le volet des erreurs, vous recevez le message d’erreur suivant :
Erreur de validation. Tâche de flux de données : La commande SQL requiert des paramètres de 1, mais le mappage de paramètres ne dispose que les paramètres 0.

Cause


Ce problème se produit parce que le fournisseur n’interprète pas correctement les ' ?' littéral en tant que paramètre à la place sous forme de chaîne.

Résolution


Le correctif que résout ce problème est inclus dans cumulative mise à jour 1 pour Host Integration Server 2010.For plus d’informations sur la façon d’obtenir le package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la base de Knowledge Base de :
2533330 Package de mise à jour cumulative 1 pour Host Integration Server 2010

Statut


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.