0 / 0
Go back to the English version of the documentation
Funkce řetězce s řetězcovými jednotkami ve vzdáleném zdroji dat Db2 v produktu Watson Query nelze přesunout na nižší úroveň.
Last updated: 31. 3. 2023
Funkce řetězce s řetězcovými jednotkami na vzdáleném zdroji dat Db2 v produktu Watson Query nelze přesunout na nižší úroveň.

Řetězcové funkce můžete používat s řetězcovými jednotkami ze vzdáleného zdroje dat Db2 , avšak funkce řetězce není předána na vzdáleném zdroji dat Db2 .

Projevy

Řetězcové funkce použijete s řetězcovými jednotkami v dotazu a funkce řetězce není předána dolů na vzdáleném zdroji dat Db2 .

Například:

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

Řešení problému

Chcete-li tento problém vyřešit, je třeba nastavit volby SAME_CODESET a STRING_UNITS . Volba SAME_CODESET poskytuje způsob, jak nastavit atribut serveru SAME_CODESET externě. Volba STRING_UNITS poskytuje způsob, jak nastavit atribut serveru STRING_UNITS externě. Jedná se o nastavení string_units pro vzdálený zdroj dat Db2 .

  1. Získejte cid z tabulky dvsys.rdb_connections .
    select cid, url from dvsys.rdb_connections;
  2. Zkontrolujte, zda je codeset mezi lokální databází Watson Query a vzdáleným zdrojem dat Db2 stejné.

    Spuštěním následujícího příkazu v lokální databázi Watson Query a ve vzdáleném zdroji dat Db2 získejte nastavení produktu codeset :

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

    Kde < dbname> je název databáze a "Database code set" = UTF-8.

    Je-li nastavení stejné, můžete nastavit SAME_CODESET na Y.

  3. Spusťte následující příkaz ve vzdáleném zdroji dat Db2 a vyhledejte nastavení jednotek řetězce:
    db2 get db cfg for <dbname> | grep "STRING_UNITS"

    Kde < dbname> je název databáze. Výchozí řetězcové jednotky ("STRING_UNITS") jsou nastaveny na hodnotu SYSTEM.

    Je-li hodnota nastavena na SYSTEM, nastavte STRING_UNITS na S. Je-li hodnota nastavena na CODEUNITS32, nastavte STRING_UNITS na C.

  4. Spuštěním následujících příkazů určete volbu SAME_CODESET a STRING_UNITS pomocí příkazu <cid > hodnota, kterou jste získali z kroku 1 , a hodnoty pro SAME_CODESET , které jste určili v kroku 2 , a hodnoty pro STRING_UNITS , které jste určili v kroku 3.
    alter server qplex options(set <cid>@same_codeset 'Y')
    alter server qplex options(set <cid>@string_units 'S')

    Nebo

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

Další informace naleznete v tématu Znakové řetězce v dokumentaci Db2 .

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more