FIX: Messaggio di errore quando si esegue un'istruzione SQL utilizzando il OLE DB provider per DB2: "SQLSTATE 22007 SQLCODE 181"

Traduzione articoli Traduzione articoli
Identificativo articolo: 924599 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Si consideri il seguente scenario. Per eseguire un'istruzione SQL, tramite il Microsoft OLE DB provider per DB2. L'istruzione SQL passa un parametro di tipo datetime di Microsoft SQL Server a una colonna di database IBM DB2. La Colonna del database IBM DB2 utilizza il tipo di dati IBM DB2 DATE. In questa situazione Ŕ possibile che venga visualizzato un messaggio d'errore simile al seguente:
SQLSTATE: 22007, SQLCODE:-181
Ad esempio la seguente istruzione SQL passa un parametro di tipo datetime di SQL Server a una colonna di database IBM DB2.
declare @var1 datetime
set @var1 = '2006-09-27 00:00:00.000'
SELECT COL1, COL2, COL3
FROM IBMDB2.TESTDATA.USER1.TABLE1
WHERE COL2 = @var1
In questo esempio, questo problema si verifica se la colonna Col2 utilizza il tipo di dati IBM DB2 DATE.

Cause

In fase di esecuzione, il provider OLE DB per DB2 non conosce il tipo di dati IBM DB2 corretto per la colonna del database IBM DB2 in cui viene passato il parametro di tipo datetime di SQL Server. Di conseguenza, provider OLE DB per DB2 include le informazioni relative alla data e le informazioni relative all'ora nel valore provider OLE DB per DB2 passa al database IBM DB2. Le informazioni sull'ora non Ŕ validi per il tipo di dati IBM DB2 DATE. Di conseguenza, viene visualizzato il messaggio di errore menzionato nella sezione "Sintomi".

Risoluzione

Microsoft Host Integration Server 2006

Per risolvere il problema, procurarsi il service pack pi¨ recente per Host Integration Server 2006. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
979497Come ottenere il service pack pi¨ recente di Host Integration Server 2006

Microsoft Host Integration Server 2004

╚ disponibile un hotfix supportato. Questo hotfix Ŕ tuttavia destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicare questo aggiornamento rapido (hotfix) solo per i sistemi in cui si verificano questo problema specifico. Questo aggiornamento rapido (hotfix) potrebbe essere eseguiti ulteriori test. Se il problema non causa gravi difficoltÓ, si consiglia di attendere il successivo aggiornamento software contenente tale aggiornamento rapido (hotfix).

Se l'aggiornamento rapido (hotfix) Ŕ disponibile per il download, Ŕ disponibile una sezione "Hotfix disponibile per il download" all'inizio di questo articolo della Knowledge Base. Se in questa sezione non viene visualizzato, contattare il servizio clienti Microsoft e supporto tecnico per ottenere l'hotfix.

Nota Se si verificano ulteriori problemi o se Ŕ richiesta la risoluzione dei problemi, potrebbe essere necessario creare una richiesta di assistenza separata. I normali costi del servizio supporto tecnico clienti Microsoft verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico hotfix in questione. Per un elenco completo dei numeri di telefono del servizio clienti Microsoft e supporto tecnico o per creare una richiesta di assistenza separata, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Il modulo "Hotfix disponibile per il download" Visualizza le lingue per cui Ŕ disponibile l'aggiornamento rapido (hotfix). Se non viene visualizzata la lingua desiderata, Ŕ perchÚ un aggiornamento rapido (hotfix) non Ŕ disponibile per tale lingua.

Informazioni sui file

La versione in lingua inglese di questo hotfix presenta gli attributi del file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file sono elencate in UTC (Coordinated Universal Time). Quando si visualizzano le informazioni sul file, viene convertita in ora locale. Per calcolare la differenza tra ora UTC e quella locale, utilizzare la scheda fuso orario nell'elemento di data e ora nel Pannello di controllo.
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensioni fileDataOraPiattaformaRequisiti SP
Db2oledb.dll6.0.2048.0488,96003-Nov-200617: 31x 86SP1
Db2oledb.hNon applicabile24,57903-Nov-200617.36Non applicabileSP1
Ddmstr.dll6.0.2048.044.03203-Nov-200617: 31x 86SP1
Drdaresync.exe6.0.2048.0337,40803-Nov-200617: 32x 86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.086.01603-Nov-200617: 31x 86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003-Nov-200617: 32x 86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114.68803-Nov-200617: 31x 86SP1
Mseidb2c.dll6.0.2048.071.68003-Nov-200617: 31x 86SP1
Mseidb2d.dll6.0.2048.0435,20003-Nov-200617: 31x 86SP1
Mseidrda.dll6.0.2048.0695.80803-Nov-200617: 32x 86SP1
Nota A causa delle dipendenze tra file, l'aggiornamento rapido pi¨ recente contenente i file precedenti pu˛ contenere anche file aggiuntivi.

Provider Microsoft OLE DB per DB2 versione 1.0

╚ disponibile un hotfix supportato. Questo hotfix Ŕ tuttavia destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicare questo aggiornamento rapido (hotfix) solo per i sistemi in cui si verificano questo problema specifico. Questo aggiornamento rapido (hotfix) potrebbe essere eseguiti ulteriori test. Se il problema non causa gravi difficoltÓ, si consiglia di attendere il successivo aggiornamento software contenente tale aggiornamento rapido (hotfix).

Se l'aggiornamento rapido (hotfix) Ŕ disponibile per il download, Ŕ disponibile una sezione "Hotfix disponibile per il download" all'inizio di questo articolo della Knowledge Base. Se in questa sezione non viene visualizzato, contattare il servizio clienti Microsoft e supporto tecnico per ottenere l'hotfix.

Nota Se si verificano ulteriori problemi o se Ŕ richiesta la risoluzione dei problemi, potrebbe essere necessario creare una richiesta di assistenza separata. I normali costi del servizio supporto tecnico clienti Microsoft verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico hotfix in questione. Per un elenco completo dei numeri di telefono del servizio clienti Microsoft e supporto tecnico o per creare una richiesta di assistenza separata, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Il modulo "Hotfix disponibile per il download" Visualizza le lingue per cui Ŕ disponibile l'aggiornamento rapido (hotfix). Se non viene visualizzata la lingua desiderata, Ŕ perchÚ un aggiornamento rapido (hotfix) non Ŕ disponibile per tale lingua.

Informazioni sui file

La versione in lingua inglese di questo hotfix presenta gli attributi del file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e ore dei file sono elencate in UTC (Coordinated Universal Time). Quando si visualizzano le informazioni sul file, viene convertita in ora locale. Per calcolare la differenza tra ora UTC e quella locale, utilizzare la scheda fuso orario nell'elemento di data e ora nel Pannello di controllo.
versione a 32 bit (x 86)
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensioni fileDataOraPiattaformaRequisiti SP
Db2oledb.dll6.0.2048.0488,96003-Nov-200617: 31x 86SP1
Db2oledb.hNon applicabile24,57903-Nov-200617.36Non applicabileSP1
Ddmstr.dll6.0.2048.044.03203-Nov-200617: 31x 86SP1
Drdaresync.exe6.0.2048.0337,40803-Nov-200617: 32x 86SP1
Microsoft.hostintegration.dataaccesslibrary.dll6.0.2048.086.01603-Nov-200617: 31x 86SP1
Microsoft.hostintegration.dataaccesstool.exe6.0.2048.02,703,36003-Nov-200617: 32x 86SP1
Microsoft.hostintegration.msdb2client.dll6.0.2048.0114.68803-Nov-200617: 31x 86SP1
Mseidb2c.dll6.0.2048.071.68003-Nov-200617: 31x 86SP1
Mseidb2d.dll6.0.2048.0435,20003-Nov-200617: 31x 86SP1
Mseidrda.dll6.0.2048.0695.80803-Nov-200617: 32x 86SP1
versione a 64 bit (x 64)
Riduci questa tabellaEspandi questa tabella
Nome del fileVersione del fileDimensioni fileDataOraPiattaformaRamo del servizio
Db2oledb.dll7.0.2535.0758,54407-Nov-200612.34x 64Non applicabile
Microsoft.hostintegration.dataaccesslibrary.dll7.0.2535.02,550,61607-Nov-200612.34x 64Non applicabile
Microsoft.hostintegration.dataaccesstool.exe7.0.2535.0613,20007-Nov-200612.34x 64Non applicabile
Mseidrda.dll7.0.2535.01,355,53607-Nov-200612.34x 64Non applicabile
Snanls.dll7.0.2535.0128,77607-Nov-200612.34x 64Non applicabile
Db2oledb.dll7.0.2535.0516,88007-Nov-200612.34x 86SYSWOW
Mseidrda.dll7.0.2535.0781,07207-Nov-200612.34x 86SYSWOW
Snanls.dll7.0.2535.0105,22407-Nov-200612.34x 86SYSWOW
Nota A causa delle dipendenze tra file, l'aggiornamento rapido pi¨ recente contenente i file precedenti pu˛ contenere anche file aggiuntivi.

Status

Microsoft ha confermato che si tratta di un problema con i prodotti elencati nella sezione "Si applica a".

Informazioni

Questo aggiornamento rapido (hotfix) consente di aggiungere il supporto per una nuova proprietÓ di stringa di connessione. Utilizzando la proprietÓ della nuova stringa di connessione, Ŕ possibile passare un parametro di tipo datetime di SQL Server a un database IBM DB2 come tipo di dati IBM DB2 DATE. Provider OLE DB per DB2 Elimina le informazioni relative all'ora nel valore del parametro di tipo datetime di SQL Server. Di conseguenza, solo le informazioni relative alla data provider OLE DB per DB2 passa database IBM DB2.

La proprietÓ della nuova stringa di connessione Ŕ la seguente definizione:
DateTime As Date = Value
In questa proprietÓ stringa di connessione, Ŕ possibile definire il Value come vero o FALSO. Se si aggiunge il DateTime As Date = TRUE istruzione per la stringa di connessione provider OLE DB per DB2 converte il parametro datetime di SQL Server per il tipo di dati IBM DB2 DATE. Provider OLE DB per DB2, quindi passa il valore per il database IBM DB2.

Se si aggiunge il DateTime As Date = FALSE istruzione alla stringa di connessione provider OLE DB per DB2 passa il parametro di tipo datetime di SQL Server specificato nell'istruzione SQL al database IBM DB2. Provider OLE DB per DB2 in questo caso, passa le informazioni relative alla data e le informazioni relative all'ora nel database IBM DB2.

Nota Questo comportamento Ŕ il comportamento predefinito se non si aggiunge la proprietÓ DateTime come date alla stringa di connessione.

Nell'esempio di stringa di connessione seguente viene illustrato come utilizzare la proprietÓ DateTime come date.
; Everything after this line is an OLE DB initialization string.
Provider=DB2OLEDB;Password=<Password>;Persist Security Info=True;User ID=<Username>;Initial Catalog=S105FRDM;Defer Prepare=False;Derive Parameters=False;Network Transport Library=TCP;Host CCSID=37;PC Code Page=1252;Network Address=<Address>;Network Port=446;Package Collection=DB2USER;Default Schema=DB2USER;Default Qualifier=DB2USER;DBMS Platform=DB2/AS400;Process Binary as Character=False;Connection Pooling=True;Units of Work=RUW;DateTime As Date=TRUE
Importante quando applicare questo aggiornamento rapido (hotfix) e aggiungere il DateTime As Date = TRUE istruzione per la stringa di connessione, Ŕ possibile che venga visualizzato il seguente messaggio di errore:
SQLSTATE: 22007, SQLCODE:-180
Questo problema si verifica se la colonna del database IBM DB2 utilizza il tipo di dati IBM DB2 TIMESTAMP. Questo problema si verifica perchÚ il database IBM DB2 si aspetta di ricevere le informazioni relative alla data e le informazioni sull'ora quando una query viene passata a una colonna di database IBM DB2 che utilizza il tipo di dati IBM DB2 TIMESTAMP. Il DateTime As Date = TRUE istruzione consente di provider OLE DB per DB2 eliminare le informazioni relative all'ora nel valore del parametro di tipo datetime di SQL Server. Di conseguenza, i dati non sono validi quando la query viene passata alla colonna del database IBM DB2 che utilizza il tipo di dati IBM DB2 TIMESTAMP.

Se deve eseguire la query una tabella IBM DB2 che utilizza il tipo di dati IBM DB2 DATE e il tipo di dati IBM DB2 TIMESTAMP, Ŕ necessario utilizzare pi¨ stringhe di connessione configurate per utilizzare le proprietÓ corrette. Quindi, Ŕ possibile richiedere correttamente vari tipi di dati IBM DB2.

Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft
I prodotti di terze parti in questo articolo sono forniti da societÓ indipendenti. Microsoft non rilascia alcuna garanzia, implicita o esplicita, sulle prestazioni o all'affidabilitÓ di questi prodotti.

ProprietÓ

Identificativo articolo: 924599 - Ultima modifica: giovedý 4 febbraio 2010 - Revisione: 2.0
Le informazioni in questo articolo si applicano a:
  • Microsoft Host Integration Server 2006 Enterprise Edition
  • Microsoft Host Integration Server 2006
  • Microsoft Host Integration Server 2004 Enterprise Edition
  • Microsoft Host Integration Server 2004 Standard Edition
  • Microsoft OLE DB Provider for DB2
Chiavi:á
kbmt kbautohotfix kbdb2oledb kbhis2004 kbfix kbbug kbhotfixserver kbqfe kbpubtypekc KB924599 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: 924599
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