0 / 0
Volver a la versión inglesa de la documentación
Resultados de consulta incorrectos para fuentes de datos remotas ' Db2 ' en Data Virtualization
Última actualización: 26 nov 2024
Resultados de consulta incorrectos para fuentes de datos remotas Db2 en Data Virtualization

Si ejecuta consultas que comparan tipos de datos de serie con bases de datos remotas de Db2®, que utilizan el tipo de conexión Db2 que no está en modalidad de compatibilidad con VARCHAR2, estas consultas pueden devolver resultados incorrectos.

Síntomas

Ejecuta algunas consultas que comparan tipos de datos de serie (CHAR o VARCHAR) con bases de datos remotas de Db2 que no están en modalidad de compatibilidad con VARCHAR2 y utilizan el tipo de conexión Db2. Obtiene resultados que son diferentes de los que obtiene en una base de datos local porque las consultas se envían y siguen las reglas de comparación de Db2 remotas.

Por ejemplo:
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;

Puede comprobar la configuración de la base de datos de Db2 remota ejecutando el mandato db2 get db cfg. En el ejemplo siguiente, la base de datos no está en modalidad de compatibilidad con VARCHAR2.

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

Resolución del problema

Para solucionar este problema, modifique la opción de secuencia de clasificación.
  1. Ejecute la sentencia siguiente para identificar el ID de conexión interna (CID) para el origen de datos.
    select * from DVSYS.LISTRDBC;

    Esta consulta lista todas las conexiones en el clúster. Busque la fila en la salida para la conexión o las conexiones que desea cambiar.

  2. Ejecute el mandato siguiente para modificar el parámetro COLLATING_SEQUENCE de esta conexión con 'I' para cada conexión que desee cambiar.
    ALTER SERVER QPLEX OPTIONS (add <CID>@collating_sequence 'I');
    Por ejemplo:
    ALTER SERVER QPLEX OPTIONS (add DB210000@collating_sequence 'I');
Búsqueda y respuesta de IA generativa
Estas respuestas las genera un modelo de lenguaje grande en watsonx.ai que se basa en el contenido de la documentación del producto. Más información