Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Riepilogo

Si consideri lo scenario seguente:

  • Si utilizza una versione di Microsoft SQL Server Native Client precedenti a Microsoft SQL Server Native Client 11.0.

  • Il codice effettua una chiamata alla funzione SQLDescribeCol per una query di unione complessa che contiene i parametri e una clausola WHERE .

In questo scenario, SQLDescribeCol restituisce un tipo di lunghezza e i dati di colonna non corretto.

Causa

Questo problema si verifica perché il driver tronca la query per i metadati sulla parola chiave UNION. Pertanto, SQL Server richiede metadati per solo la prima query e ignora la seconda query. Se si modifica l'ordine delle query, SQLDescribeCol restituisce dati corretti.

Risoluzione

Per risolvere questo problema, utilizzare SQL Server Native Client 11.0 o versione successiva dell'applicazione. Per ottenere SQL Server Native Client 11.0, o per ulteriori informazioni, visitare il seguente sito Web Microsoft Download Center:

Feature Pack di Microsoft SQL Server 2012

Soluzione alternativa

Per risolvere questo problema, eseguire una delle seguenti operazioni:

  • Compilare la query in una stored procedure che utilizza parametri.

  • Invertire l'ordine delle istruzioni Selezionare nella query di unione in modo che il campo costante dell'ultima istruzione SELECT .

Stato

Microsoft ha confermato che questo è un problema noto di versioni precedenti di SQL Server e SQL Server Native Client.

Microsoft ha confermato che questo problema si verifica nei prodotti Microsoft elencati all'inizio di questo articolo.

Riferimenti

Per ulteriori informazioni su questo problema e sulla procedura per riprodurre il problema, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

BUG 308264 : SQLDescribeCol restituisce errato di dimensioni di colonna in una Query di unione complessa con parametriQuesto problema si è verificato in Data Access Components (MDAC), anche, è stato risolto in MDAC 2.6. Per ulteriori informazioni, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

308211 FIX: SQLDescribeCol restituisce errato di dimensioni di colonna in una Query di unione con parametri

Serve aiuto?

Amplia le tue competenze

Esplora i corsi di formazione >

Ottieni in anticipo le nuove caratteristiche

PARTECIPA AL PROGRAMMA MICROSOFT 365 INSIDERS >

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?

Grazie per il feedback!

×