Translation not up to date
Ř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 .
- Získejte cid z tabulky
dvsys.rdb_connections
.select cid, url from dvsys.rdb_connections;
- 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.
- 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 hodnotuSYSTEM
.Je-li hodnota nastavena na
SYSTEM
, nastavte STRING_UNITS naS
. Je-li hodnota nastavena naCODEUNITS32
, nastavte STRING_UNITS naC
. - 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 .