

 Amazon Redshift non supporterà più l'uso delle UDF Python dopo il 30 giugno 2026. Inizieremo ad applicarlo per fasi. Per ulteriori informazioni sulla fine del ciclo di vita e sulle opzioni di migrazione di Python, consulta il post [ del ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) blog pubblicato il 30 giugno 2025. 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Differenze tra le versioni 2.x e 1.x del driver ODBC
<a name="odbc20-odbc10-driver-differences"></a>

Questa sezione descrive le differenze tra il driver [ ODBC 1.x e il driver [ ODBC 2.x ](odbc20-install.md) e fornisce indicazioni su come migrare al driver ](configure-odbc-connection.md) 2.x. Descrive le modifiche che potrebbero influire sull'applicazione e come risolverle.

## Differenze chiave da affrontare
<a name="odbc20-migrate-key-differences"></a>

Le seguenti azioni risolvono i problemi di migrazione più comuni. La maggior parte delle applicazioni richiede solo un sottoinsieme di questi.

### DSN e stringa di connessione
<a name="odbc20-migrate-dsn"></a>
+ **Controlla il tuo DSN per le opzioni di driver che potrebbero essere state rimosse o rinominate. ** Alcune opzioni del driver ODBC 1.x non sono supportate nel driver ODBC 2.x. Altre sono state rinominate. Per informazioni dettagliate, vedi [Stringa di connessione e opzioni DSN](#odbc20-migrate-connection-options).
+ **Imposta `UseUnicode=true` se l'applicazione dipende da codici a caratteri larghi (`SQL_WVARCHAR`,`SQL_WCHAR`). ** Nel driver ODBC 2.x, il `UseUnicode` valore predefinito è`false`, che riporta i tipi di caratteri ristretti.
+ **Sposta le impostazioni di registrazione nella sezione. `[ODBC]` ** Su Linux e macOS `LogLevel` e `LogPath` deve essere impostato nella `[ODBC]` sezione globale di`odbc.ini`, non in una singola sezione DSN.

### Interrogazione e schema
<a name="odbc20-migrate-query-schema"></a>
+ **`SQLTables`Includi `EXTERNAL TABLE` nei filtri di tipo. ** In ODBC 2.x, sia le tabelle Amazon Redshift Spectrum che le tabelle datashare sono riportate come. `EXTERNAL TABLE` Se filtri per tipo, aggiungi `SQLTables` per continuare `EXTERNAL TABLE` a visualizzare questi oggetti. In alternativa, impostate l'`EnableTableTypes`opzione su 0 per normalizzare le informazioni dettagliate sul tipo di tabella nei tipi generici di tabella TABLE e VIEW, come descritto nella voce seguente.
+ **I tipi di tabella dettagliati sono abilitati per impostazione predefinita. ** ODBC 2.x abilita l'`EnableTableTypes`opzione per impostazione predefinita. Il driver 1.x ha disabilitato questa opzione per impostazione predefinita. Con l'impostazione predefinita 2.x, `SQLTables` riporta tipi dettagliati come SYSTEM TABLE, SYSTEM VIEW, EXTERNAL TABLE e LOCAL TEMPORARY. Per riportare ogni tabella come tipo generico TABLE e ogni vista come VIEW, imposta su `EnableTableTypes` 0.
+ **Trasmetti `INTERVAL` a `VARCHAR` per le applicazioni che non supportano il tipo di dati a intervalli. ** Alcuni client non supportano i tipi di intervallo ODBC. Per questi clienti, inserisci la colonna nella tua query: `SELECT col::VARCHAR FROM ...`

### Codice dell'applicazione
<a name="odbc20-migrate-application-code"></a>
+ **Verifica le impostazioni di timeout delle query. ** ODBC 2.x viene applicato correttamente in `SQL_ATTR_QUERY_TIMEOUT` base alle specifiche ODBC. ODBC 1.x ha ignorato silenziosamente questa impostazione. Long-running le query che in precedenza erano riuscite potrebbero ora avere esito negativo con un errore di timeout. Rivedi e modifica i valori di timeout secondo necessità.
+ **Fornisci la lunghezza dei dati per i parametri relativi ai dati in fase di esecuzione. **2.x riporta `SQL_NEED_LONG_DATA_LEN` come `Y` (1.x riportato). `N` Le applicazioni che associano `SQL_DATA_AT_EXEC` i parametri devono ora fornire in anticipo la lunghezza totale dei dati. `StrLen_or_IndPtr`

## Stringa di connessione e opzioni DSN
<a name="odbc20-migrate-connection-options"></a>

La tabella seguente mostra le opzioni del driver ODBC 1.x che sono state rinominate o hanno equivalenti diretti nel driver ODBC 2.x.


| Opzione 1.x | Equivalente a 2.x | Note | 
| --- | --- | --- | 
| MaxLongVarChar | MaxLongVarcharSize | L'impostazione predefinita è cambiata da 8190 a 65535. | 
| ConnectionTimeout | LoginTimeout | Stesso timeout di connessione, rinominato. Il valore predefinito è 0 (nessun timeout). | 
| VpcEndpointUrl | vpc\_endpoint\_url |  | 
| SSLCertPath | TrustStore o CaFile | Percorso a un certificato CA utilizzato per verificare il server. In Windows, impostalo nel campo Trust Store della finestra di dialogo di configurazione del DSN; la finestra di dialogo non ha alcun CaFile campo. Se entrambi sono impostati, ha la TrustStore priorità. | 

Le seguenti opzioni 1.x non sono supportate nel driver 2.x corrente. Il driver 2.x le ignora, quindi non influiscono sulla connessione. La loro rimozione dal DSN è facoltativa ma consigliata per evitare confusione.
+ `SingleRowMode`— per limitare la memoria del client, usa `StreamingCursorRows` invece.
+ `UseSystemTrustStore`— non supportato. In Windows, il driver 1.x potrebbe convalidare il certificato del server rispetto all'archivio certificati di sistema di Windows. Il driver 2.x viene convalidato in base a un file di certificato CA: utilizza per impostazione predefinita il certificato principale di Amazon Redshift in bundle o il file specificato in o. `TrustStore` `CaFile`
+ `TextAsLongVarchar`,`CheckCertRevocation`,,`EnableAwsSdkLogs`,`UseLogPrefix`,`Locale`, `UseDeclareFetch``UseMultipleStatements`, `EnforceSingleStatement` — nessun equivalente nella versione corrente. Il team di Amazon Redshift sta valutando equivalenti o alternative per queste opzioni nelle versioni future.

Per l'elenco completo delle opzioni 2.x supportate, consulta. [Opzioni del driver ODBC](odbc20-configuration-options.md)

## Modifiche al tipo di dati
<a name="odbc20-migrate-data-types"></a>

La tabella seguente mostra le mappature dei tipi di dati di Amazon Redshift che sono state modificate in ODBC 2.x per conformarsi alle specifiche ODBC. La maggior parte delle applicazioni non è interessata perché associa le colonne per indice o per nome anziché per tipo di codice.


| Tipi di dati di Amazon Redshift | ODBC 1.x | ODBC 2.x | 
| --- | --- | --- | 
| DOUBLE PRECISION | SQL\_FLOAT(6) | SQL\_DOUBLE (8) | 
| INTERVAL YEAR TO MONTH | SQL\_VARCHAR(12), testo | SQL\_INTERVAL\_YEAR\_TO\_MONTH(107), struttura a intervalli | 
| INTERVAL DAY TO SECOND | SQL\_VARCHAR(12), testo | SQL\_INTERVAL\_DAY\_TO\_SECOND(110), struttura a intervalli | 
| VARCHAR / CHAR / TEXT | Tipi ampi (SQL\_WVARCHAR,SQL\_WCHAR,SQL\_WLONGVARCHAR); impostazione predefinita UseUnicode=true | Tipi stretti (SQL\_VARCHAR,SQL\_CHAR,SQL\_LONGVARCHAR). Impostato UseUnicode=true per ripristinare tipi larghi. | 
| GEOMETRY/GEOGRAPHY(asSQL\_C\_BINARY) | Hex-encoded Stringa ASCII | Byte binari non elaborati | 

I `COLUMN_SIZE` valori restituiti da sono cambiati `SQLColumns` anche per `GEOMETRY``GEOGRAPHY`, e `SUPER` i tipi di dati, che ora restituiscono NULL per indicare colonne non dimensionate secondo la specifica ODBC. Le applicazioni che allocano i buffer in base a `COLUMN_SIZE` devono gestire NULL utilizzando una dimensione del buffer predefinita.

## Post-migration risoluzione dei problemi
<a name="odbc20-migrate-troubleshooting"></a>

La tabella seguente descrive i problemi più comuni che potresti riscontrare dopo la migrazione e come risolverli.


| Caratteristiche | Causa | Cosa fare | 
| --- | --- | --- | 
| Tabelle esterne non visibili nel browser degli schemi | Le tabelle Spectrum e Datashare sono riportate come EXTERNAL TABLE | SQLTablesIncludi EXTERNAL TABLE nel filtro dei tipi o imposta su 0 EnableTableTypes per normalizzare i tipi di tabella dettagliati nei tipi generici TABLE e VIEW. | 
| errori pyodbc nelle colonne di intervallo | pyodbc non supporta i tipi di intervallo ODBC | Trasmetti intervalli alle interrogazioni in. VARCHAR | 
| I dati dei personaggi vengono visualizzati come caratteri inaspettati (mojibake) | UseUnicodeimpostazione predefinita modificata in. false Le applicazioni che richiedono dati wide-character (UTF-16) potrebbero interpretare erroneamente i byte di caratteri stretti come coppie larghe, producendo un output confuso. I dati stessi sono invariati. | Imposta UseUnicode=true nel tuo DSN o aggiorna l'applicazione per associare le colonne come SQL\_C\_CHAR invece di. SQL\_C\_WCHAR | 
| Long-running le query restituiscono errori di timeout | SQL\_ATTR\_QUERY\_TIMEOUTè ora applicato. ODBC 1.x ha ignorato silenziosamente questa impostazione. | Aumenta o rimuovi QueryTimeout dal tuo DSN o imposta SQL\_ATTR\_QUERY\_TIMEOUT su 0 nell'applicazione. | 
| L'impostazione ritorna SQL\_ATTR\_CURRENT\_CATALOG HY011 | L'attributo non può essere impostato su una connessione aperta. Il passaggio da un database all'altro su una connessione aperta non è supportato. | Imposta l'attributo prima della connessione oppure chiudi e riapri la connessione sul database di destinazione. | 
| La connessione si blocca in ambienti dual-stack | Limitazione nelle versioni <= 2.1.16 | Aggiornamento alla versione 2.1.17 o successiva. | 
| L'analisi dei messaggi di errore restituisce risultati imprevisti | Formato del messaggio modificato; codici SQLSTATE invariati | Analizza i codici SQLSTATE anziché il testo del messaggio. | 
| Data-at-execution l'associazione dei parametri si comporta diversamente | SQL\_NEED\_LONG\_DATA\_LENmodificato da FALSE a TRUE; le applicazioni che utilizzano ora SQL\_DATA\_AT\_EXEC devono fornire in anticipo la lunghezza totale dei dati | Imposta il valore della lunghezza in StrLen\_or\_IndPtr fase di associazione SQL\_DATA\_AT\_EXEC dei parametri. | 
| I log dei driver non vengono generati | LogLevele LogPath devono trovarsi nella sezione [ODBC] globale diodbc.ini, non nelle singole sezioni DSN | Sposta le impostazioni di registrazione dal tuo DSN alla sezione. [ODBC] | 

## Aggiornamento da una versione ODBC 2.x precedente
<a name="odbc20-migrate-upgrade-2x"></a>

Se stai già utilizzando una versione ODBC 2.x precedente, esegui l'upgrade alla versione più recente. Per un elenco completo dei miglioramenti e delle correzioni di bug in tutte le versioni, consulta il log di modifica del driver ODBC di [ Amazon Redshift. ](https://github.com/aws/amazon-redshift-odbc-driver/blob/main/CHANGELOG.md) GitHub

## Ulteriori informazioni
<a name="odbc20-migrate-more-info"></a>
+ [Configurazione di una connessione per il driver ODBC versione 2.x per Amazon Redshift](odbc20-install.md)
+ [Opzioni del driver ODBC](odbc20-configuration-options.md)
+ [Registro delle modifiche ai driver ODBC di Amazon Redshift ](https://github.com/aws/amazon-redshift-odbc-driver/blob/main/CHANGELOG.md)