Sintomi
Si tenta di eseguire un'istruzione SQL complessa in un ambiente Microsoft Host Integration Server 2010. Quando l'istruzione SQL contiene un punto interrogativo ('? ') letterale, il Provider Microsoft OLE DB per DB2 potrebbe avere esito negativo. Ad esempio, si crea un nuovo pacchetto di Microsoft SQL Server Integration Services (SSIS) e si inserisce un pacchetto del flusso di dati. Si crea un'origine OLE DB e si inserisce un'istruzione SQL che contiene un '?' valore letterale, come illustrato di seguito:
SELECT NDECRE || '?'FROM TIGS981FETCH FIRST 10 ROWS ONLY
In questo scenario, quando si chiude la finestra di dialogo viene visualizzato un punto rosso. Inoltre, nel riquadro di errori, viene visualizzato il seguente messaggio di errore:
Errore di convalida. Attività flusso di dati: Il comando SQL richiede parametri 1, ma il mapping di parametri dispone solo di parametri 0.
Causa
Questo problema si verifica perché il provider interpreta in modo errato il '?' letterale come parametro anziché come stringa.
Risoluzione
La correzione che risolve questo problema è incluso nell'aggiornamento cumulativo pacchetto di aggiornamento 1 per Host Integration Server 2010.For ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo, fare clic sul numero seguente per visualizzare l'articolo della Knowledge Base Base:
2533330 Pacchetto di aggiornamento cumulativo 1 per Host Integration Server 2010
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".