MSDASQL Provider Handles malfunzionamento valori SQL_NUMERIC_STRUCT Negatively scala

Traduzione articoli Traduzione articoli
Identificativo articolo: 274604 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato archiviato. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.
Espandi tutto | Chiudi tutto

Sintomi

Quando si leggono negativamente scalato di valori numerici da un driver ODBC utilizzando il provider OLE DB per ODBC (MSDASQL) con l'enumerazione di cursore adUseClient ActiveX Data Objects (ADO), vengono troncati i valori che vengono restituiti.

Risoluzione

Per risolvere il problema, ottenere il service pack più recente per Microsoft MDAC 2.5. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
293312INFORMAZIONI: Come ottenere il più recente MDAC 2.5 Service Pack
La versione in lingua inglese di questa correzione presenta gli attributi di file elencati nella tabella seguente (o successivi). Date e ore per questi file sono indicati nella coordinated universal time (UTC). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
   Date         Time   Version      Size     File Name
   --------------------------------------------------------------------
   31-Jan-2001  18:20  2.53.6131.0  303,376  Msdasql.dll
   31-Jan-2001  18:18  2.53.6131.0   16,384  Msdasqlr.dll
   31-Jan-2001  18:20  2.53.6131.0   78,096  Msdatl2.dll
   31-Jan-2001  18:20  2.53.6131.0   53,520  Msdatt.dll
   28-Feb-2001  18:00  1.10.101.0   484,408  Q277033_w2k_sp3_x86_en.exe
				

Workaround

Per risolvere questo problema, utilizzare l'enumerazione di adUseServer per la proprietà CursorLocation di ADO invece di adUseClient .

Status

Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo. Questo problema è stato innanzitutto corretto in Microsoft MDAC 2.5 Service Pack 3.

Informazioni

Se si apre un oggetto ADO Recordset contro qualsiasi driver ODBC, il provider OLE DB per ODBC (MSDASQL) viene utilizzato per fornire servizi di traduzione di OLE DB ODBC. Se il set di risultati che è richiesto contiene un campo numerico e se si utilizza l'enumerazione adUseClient della proprietà CursorLocation , ADO tenta di recuperare il valore del campo numerico in una struttura OLE DB DB_NUMERIC.

Se il driver ODBC sottostante segnala che è la 3.0 di ODBC compatibile con, MSDASQL tenta di associare a valori SQL_NUMERIC_STRUCT direttamente invece di associazione a una stringa di caratteri. Se il SQL_NUMERIC_STRUCT restituisce il driver ha una scala negativa, se il client del provider MSDASQL richiede un valore DB_NUMERIC MSDASQL converte innanzitutto il SQL_NUMERIC_STRUCT in un valore DB_VARNUMERIC e quindi convertito in un valore DB_NUMERIC. La conversione su un valore DB_NUMERIC finale viene elaborata in modo non corretto se la scala è negativo, il cui risultato è un valore troncato.

Proprietà

Identificativo articolo: 274604 - Ultima modifica: lunedì 24 febbraio 2014 - Revisione: 3.1
Le informazioni in questo articolo si applicano a:
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.5
Chiavi: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbmdac250sp3fix kbbug kbfix KB274604 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: 274604
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.

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