0 / 0
Go back to the English version of the documentation
Nie można wypchnąć funkcji łańcuchowych z jednostkami łańcuchami w zdalnym źródle danych Db2 w programie Watson Query
Last updated: 31 mar 2023
Nie można wypchnąć funkcji łańcuchowych z jednostkami łańcuchami w zdalnym źródle danych Db2 w programie Watson Query .

Funkcji łańcuchowych można używać z jednostkami łańcuchami ze zdalnego źródła danych Db2 , jednak funkcja łańcuchowa nie jest przesunięta w dół w zdalnym źródle danych Db2 .

Objawy

Funkcje łańcuchowe są używane z jednostkami łańcuchami w zapytaniu, a funkcja łańcuchowa nie jest przesunięta w dół w zdalnym źródle danych Db2 .

Na przykład:

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

Rozwiązanie problemu

Aby rozwiązać ten problem, należy ustawić opcje SAME_CODESET i STRING_UNITS . Opcja SAME_CODESET umożliwia ustawienie zewnętrznie atrybutu serwera SAME_CODESET . Opcja STRING_UNITS umożliwia ustawienie zewnętrznie atrybutu serwera STRING_UNITS . Jest to ustawienie parametru string_units dla zdalnego źródła danych Db2 .

  1. Pobierz cid z tabeli dvsys.rdb_connections .
    select cid, url from dvsys.rdb_connections;
  2. Sprawdź, czy codeset między lokalną bazą danych Watson Query a zdalnym źródłem danych Db2 jest taka sama.

    Uruchom następującą komendę zarówno w lokalnej bazie danych Watson Query , jak i w zdalnym źródle danych Db2 , aby uzyskać ustawienie codeset :

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

    Gdzie < nazwa_bazy_danych> jest nazwą bazy danych i produktem "Database code set" = UTF-8.

    Jeśli to ustawienie jest takie samo, można ustawić wartość SAME_CODESET na Y.

  3. Uruchom następującą komendę w zdalnym źródle danych Db2 , aby znaleźć ustawienie jednostek łańcuchowych:
    db2 get db cfg for <dbname> | grep "STRING_UNITS"

    Gdzie < nazwa_bazy_danych> jest nazwą bazy danych. Domyślne jednostki łańcuchowe ("STRING_UNITS") są ustawione na SYSTEM.

    Jeśli jest to ustawienie SYSTEM, należy ustawić wartość STRING_UNITS na S. Jeśli jest to ustawienie CODEUNITS32, należy ustawić wartość STRING_UNITS na C.

  4. Uruchom następujące komendy, aby określić opcje SAME_CODESET i STRING_UNITS , używając <cid > wartość uzyskaną z kroku 1 oraz wartość SAME_CODESET określoną w kroku 2 i wartość STRING_UNITS określoną w kroku 3.
    alter server qplex options(set <cid>@same_codeset 'Y')
    alter server qplex options(set <cid>@string_units 'S')

    Lub

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

Więcej informacji na ten temat zawiera sekcja Łańcuchy znaków w dokumentacji 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