KORRIGERA: Microsoft OLE DB-Provider för DB2 misslyckas när en strängkonstant i en fråga innehåller ett '?' literal och använder SSIS i Host Integration Server 2010-miljö

Gäller för: Microsoft Host Integration Server 2010

Symptom


Du försöker köra en komplex SQL-sats i en miljö med Microsoft Host Integration Server 2010. När SQL-uttrycket innehåller ett frågetecken (””?) literal, Microsoft OLE DB-Provider för DB2 misslyckas. Till exempel du skapar ett nytt paket för Microsoft SQL Server Integration Service (SSI-filer) och du infogar ett dataflöde paket. Du skapar en OLE DB-datakälla, och du infogar ett SQL-uttryck som innehåller ett '?' exakt som i följande exempel:
SELECT NDECRE || '?'FROM TIGS981FETCH FIRST 10 ROWS ONLY
I det här fallet när du stänger dialogrutan, visas en röd punkt. I fönstret fel visas dessutom följande felmeddelande:
Verifieringsfel. Data flöde aktivitet: SQL-kommandot kräver 1 parametrar, men parametermappningen har bara 0 parametrar.

Orsak


Det här problemet uppstår eftersom providern felaktigt tolkar den '?' literal som en parameter i stället för som en sträng.

Lösning


Snabbkorrigeringen som uppdateringen löser det här problemet ingår i kumulativa uppdateringspaket 1 för Host Integration Server 2010.For mer information om hur du skaffar det kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Bas:
2533330 Kumulativt uppdateringspaket 1 för Host Integration Server 2010

Status


Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet ”gäller”.