FIX: Messaggio di errore quando si esegue un'applicazione basata su SQL Server 2008 che chiama la funzione SQLBindParameter: "(TDS, Tabular Data Stream) remote procedure call (RPC) flusso del protocollo non è corretto flusso di dati tabulari in ingresso"

Traduzione articoli Traduzione articoli
Identificativo articolo: 971051 - Visualizza i prodotti a cui si riferisce l?articolo.
Microsoft distribuisce le correzioni di Microsoft SQL Server 2008 come un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli aggiornamenti rapidi e tutte le correzioni protezione rilasciate con SQL Server 2008 precedente versione di correggere.
Espandi tutto | Chiudi tutto

Sintomi

In un'applicazione, è possibile utilizzare il driver di SQL Server 2008 native client. Chiamare la funzione SQLBindParameter per associare un parametro di un tipo di dati di caratteri estesi per una query. Ad esempio, è possibile associare un parametro del tipo di dati NCHAR o del tipo di dati NVARCHAR . L'applicazione passa un valore superiore a 4.000 al parametro ColumnSize della funzione SQLBindParameter . Quando si esegue la query nell'applicazione, viene visualizzato il seguente messaggio di errore:

I dati tabulari in arrivo flusso (TDS, Tabular Data Stream) remote procedure call (RPC) flusso del protocollo non è corretto. Parametro 1 (""): il tipo di dati 0xE7 ha un lunghezza di dati non validi o la lunghezza dei metadati.
Nota Questo messaggio di errore è un messaggio di errore lato server. Se l'applicazione ne utilizza il driver di SQL Server 2005 native client in invece, viene visualizzato il seguente messaggio di errore lato client come previsto:

[Microsoft][SQL Native Client]Valore di precisione non valido

Cause

Questo problema si verifica perché il driver di SQL Server 2008 native client non esegue un controllo runtime per le dimensioni della colonna di input per la funzione SQLBindParameter . Inoltre, il driver raddoppia le dimensioni di colonna se la dimensione della colonna di input è maggiore di 4000 e il parametro è un tipo di dati di caratteri estesi. Pertanto, SQL Server restituisce un errore di lato server che il parametro supera il limite superiore (8.000).

Nota Il driver di SQL Server 2005 native client esegue un controllo in runtime per le dimensioni di colonna di input. Pertanto, se la dimensione della colonna di input è superiore a 8.000, il driver di SQL Server 2005 native client restituisce un errore lato client.

Risoluzione

La correzione di questo problema è stata rilasciata prima in un aggiornamento cumulativo 3 per SQL Server 2008 Service Pack 1. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
971491Pacchetto di aggiornamento cumulativo 3 per SQL Server 2008 Service Pack 1
Nota Poiché le generazioni sono cumulative, ogni nuova versione di correzione contiene tutti gli aggiornamenti rapidi e tutte le correzioni protezione rilasciate con SQL Server 2008 precedente versione di correggere. Microsoft consiglia di considerare applicare la correzione rapida per la versione più recente che contiene questo aggiornamento rapido (hotfix). Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
970365Versioni di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 per service pack specifici di SQL Server vengono creati gli aggiornamenti rapidi. È necessario applicare un hotfix di SQL Server 2008 Service Pack 1 a un'installazione di SQL Server 2008 Service Pack 1. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack di SQL Server è incluso nel successivo service pack SQL Server.

Status

Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".

Riferimenti

Per ulteriori informazioni sul modello di manutenzione incrementale per SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
935897Un modello di manutenzione incrementale è disponibile dal team di SQL Server per fornire aggiornamenti rapidi per i problemi segnalati


Per ulteriori informazioni sullo schema di denominazione degli aggiornamenti di SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
822499Nuovo schema di denominazione per i pacchetti di aggiornamento software di Microsoft SQL Server


Per ulteriori informazioni sulla terminologia di aggiornamento software, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Proprietà

Identificativo articolo: 971051 - Ultima modifica: martedì 21 luglio 2009 - Revisione: 1.0
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
Chiavi: 
kbmt kbsurveynew kbfix kbqfe kbexpertiseadvanced KB971051 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 971051
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com