0 / 0
Go back to the English version of the documentation
Niepoprawne wyniki zapytania dla zdalnych źródeł danych Db2 w programie Watson Query
Last updated: 31 mar 2023
Niepoprawne wyniki zapytania dla zdalnych źródeł danych Db2 w programie Watson Query

W przypadku uruchamiania zapytań porównując typy danych łańcuchowych względem zdalnych baz danych Db2® , które korzystają z typu połączenia Db2 , który nie znajduje się w trybie zgodności VARCHAR2 , te zapytania mogą zwracać niepoprawne wyniki.

Objawy

Niektóre zapytania porównują typy danych łańcuchowych (CHAR lub VARCHAR) względem zdalnych baz danych Db2 , które nie są w trybie zgodności VARCHAR2 , i używają typu połączenia Db2 . Wyniki są różne od wyników otrzymywanych w lokalnej bazie danych, ponieważ zapytania zostaną wypychane i będą zgodne ze zdalnym regułami porównania Db2 .

Na przykład:
select col_char from testable1 union select col_varchar from testable2;
select col_char from testable1 except select col_varchar from testable2;
select col_char from testable1 intersect select col_varchar from testable2;

Konfigurację zdalnej bazy danych Db2 można sprawdzić, uruchamiając komendę db2 get db cfg . W poniższym przykładzie baza danych nie znajduje się w trybie zgodności VARCHAR2 .

$ db2 get db cfg for testdb |grep "Varchar2 compatibility"
Varchar2 compatibility                                  = OFF

Rozwiązanie problemu

Aby obejdziewać ten problem, należy zmodyfikować opcję serwera kolejności zestawiania.
  1. Uruchom następującą instrukcję, aby zidentyfikować wewnętrzny identyfikator połączenia (CID) dla źródła danych.
    select * from DVSYS.LISTRDBC;

    To zapytanie wyświetla wszystkie połączenia w klastrze. Znajdź wiersz w danych wyjściowych dla połączenia lub połączeń, które mają zostać zmienione.

  2. Uruchom następującą komendę, aby zmodyfikować parametr COLLATING_SEQUENCE dla tego połączenia z 'I' dla każdego połączenia, które ma zostać zmienione.
    ALTER SERVER QPLEX OPTIONS (add <CID>@collating_sequence 'I');
    Na przykład:
    ALTER SERVER QPLEX OPTIONS (add DB210000@collating_sequence 'I');
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