Translation not up to date
Dizgi işlevlerini bir Db2 uzak veri kaynağından kullanarak dizgi işlevlerini kullanabilirsiniz; ancak, dizgi işlevi Db2 uzak veri kaynağında aşağı itilmez.
Belirtiler
Bir sorgudaki dizgi birimleriyle dizgi işlevleri kullanıyorsunuz ve dizgi işlevi Db2 uzak veri kaynağında aşağı itilmiyor.
Örnek:
select SUBSTRING (col13_char, 1, 2,OCTETS) from n1
Sorunun çözümleniyor
Bu sorunu çözmek için, SAME_CODESET ve STRING_UNITS seçeneklerini ayarlamanız gerekir. SAME_CODESET seçeneği, SAME_CODESET Server özniteliğini harici olarak ayarlamak için bir yol sağlar. STRING_UNITS seçeneği, STRING_UNITS Server özniteliğini harici olarak ayarlamak için bir yol sağlar. Bu, string_units for Db2 uzak veri kaynağı içinsettingayarıdır.
- cid çizelgesini
dvsys.rdb_connections
çizelgesinden alın.select cid, url from dvsys.rdb_connections;
- Watson Query yerel veritabanı ile Db2 uzak veri kaynağı arasındaki codeset ' in aynı olup olmadığını kontrol edin.
codeset ayarını almak için hem Watson Query yerel veritabanında hem de Db2 uzak veri kaynağında aşağıdaki komutu çalıştırın:
db2 get db cfg for <dbname> | grep "Database code set"
Burada < dbname> , veritabanı adı ve
"Database code set" = UTF-8
' dir.Ayar aynıysa, SAME_CODESET ayarını Y olarak ayarlayabilirsiniz.
- Dizgi birimleri ayarını bulmak için Db2 uzak veri kaynağında aşağıdaki komutu çalıştırın:
db2 get db cfg for <dbname> | grep "STRING_UNITS"
Burada < dbname> , veritabanı adıdır. Varsayılan dizgi birimleri (
"STRING_UNITS"
)SYSTEM
olarak ayarlıdır.Ayar
SYSTEM
ise, STRING_UNITS ayarınıS
olarak ayarlayın. AyarCODEUNITS32
ise, STRING_UNITS ayarınıC
olarak ayarlayın. - Run the following commands to specify the SAME_CODESET and STRING_UNITS option, using the < cid> value that you obtained from step 1 and the value for SAME_CODESET that you determined in step 2 and the value for STRING_UNITS that you determined in step 3.
alter server qplex options(set <cid>@same_codeset 'Y')
alter server qplex options(set <cid>@string_units 'S')
Veya
alter server qplex options(set <cid>@same_codeset 'N')
alter server qplex options(set <cid>@string_units 'C')
Ek bilgi için Db2 belgelerindeki Karakter dizgileri konusuna bakın.