0 / 0
Torna alla versione inglese della documentazione
Impossibile eseguire il push down di funzioni stringa con unità stringa sull'origine dati remota 'Db2 in Data Virtualization
Ultimo aggiornamento: 26 nov 2024
Impossibile eseguire il push down delle funzioni stringa con unità stringa sull'origine dati remota di Db2 in Data Virtualization

È possibile utilizzare le funzioni stringa con le unità stringa da un'origine dati remota Db2 ; tuttavia, la funzione stringa non viene spostata verso il basso sull'origine dati remota Db2 .

Sintomi

Le funzioni stringa vengono utilizzate con le unità stringa in una query e la funzione stringa non viene inserita nell'origine dati remota Db2 .

Per esempio

select SUBSTRING (col13_char, 1, 2,OCTETS) from n1

Risoluzione del problema

Per risolvere questo problema, è necessario impostare le opzioni SAME_CODESET e STRING_UNITS . L'opzione SAME_CODESET fornisce un modo per impostare esternamente l'attributo del server SAME_CODESET . L'opzione STRING_UNITS fornisce un modo per impostare esternamente l'attributo del server STRING_UNITS . È l'impostazione di string_units per l'origine dati remota Db2 .

  1. Richiamare cid dalla tabella dvsys.rdb_connections .
    select cid, url from dvsys.rdb_connections;
  2. Controllare se il 'codeset tra il database locale Data Virtualization e l'origine dati remota 'Db2 è lo stesso.

    Eseguite il seguente comando sia nel database locale di Data Virtualization che nell'origine dati remota 'Db2 per ottenere l'impostazione 'codeset.

    db2 get db cfg for <dbname> | grep "Database code set"

    Dove < dbname> è il nome del database e "Database code set" = UTF-8.

    Se l'impostazione è la stessa, è possibile impostare SAME_CODESET su Y.

  3. Eseguire il seguente comando nell'origine dati remota Db2 per trovare l'impostazione delle unità stringa.
    db2 get db cfg for <dbname> | grep "STRING_UNITS"

    Dove < dbname> è il nome del database e l'unità stringa predefinita ("STRING_UNITS") è impostata su SYSTEM.

    Se l'impostazione è SYSTEM, impostare STRING_UNITS su S. Se l'impostazione è CODEUNITS32, impostare STRING_UNITS su C.

  4. Eseguire i seguenti comandi per specificare l'opzione SAME_CODESET e STRING_UNITS . Utilizzare il valore < cid> ottenuto dal passo 1 e il valore per SAME_CODESET determinato nel passo 2 e il valore per STRING_UNITS determinato nel passo 3.
    alter server qplex options(set <cid>@same_codeset 'Y')
    alter server qplex options(set <cid>@string_units 'S')

    Oppure

     alter server qplex options(set <cid>@same_codeset 'N')
     alter server qplex options(set <cid>@string_units 'C')

Per ulteriori informazioni, vedi Stringhe di caratteri nella documentazione di Db2 .

Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni