Configurar comparaciones de BD

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Comparación de BD >

Configurar comparaciones de BD

Una comparación de datos de BD supone comparar una fuente de datos "izquierda" (tabla, vista o conjunto de registros obtenido con una consulta SQL) con una "derecha".

 

Para configurar una comparación de datos abra el archivo de configuración del cliente y añada una sección [datadiff:<name>] nueva donde <name> sea el nombre único con el que quiere identificar esta comparación de BD. En el trabajo de comparación de BD lo que hace es indicar qué fuente de datos es la "izquierda" y cuál es la "derecha". Se asume que ya ha creado anteriormente dos o más fuentes de datos, como se explica en Configurar fuentes de datos.

 

Más abajo se enumeran los parámetros que pueden aparecer en una sección [datadiff].

 

enable-driver-logging

Parámetro opcional. Actívelo si necesita que el controlador de la BD devuelva información más detallada en caso de errores. Ejemplo:

 

enable-driver-logging=true

 

Tenga en cuenta que activar esta opción podría ralentizar la ejecución.

 

server-left, server-right

Parámetro condicional. Esta opción permite definir una de las partes (derecha o izquierda) de la comparación en el archivo de configuración del servidor (no el archivo de configuración del cliente). La opción debe apuntar a una fuente de datos designada, tal y como está definida en el archivo de configuración del servidorc DiffDog Server. Ejemplo:

 

server-left=products

server-right=resourcesdb

 

Para hacer que apunte a una fuente de datos en el equipo en el que se ejecuta el cliente de línea de comandos de DiffDog, use las opciones left y right (véase más abajo).

 

left, right

Parámetro condicional. Esta opción configura las partes derecha o izquierda de la comparación. La opción debe hacer referencia a una fuente de datos designada [datasource:<some_name>] tal y como está definida en el archivo de configuración del cliente en el equipo en que se ejecuta la comparación. Ejemplo:

 

left=hr

right=testdb

 

Si no define estas opciones, entonces debe definir las opciones server-left o server-right. También se pueden hacer comparaciones combinadas entre fuentes de datos del cliente y fuentes de datos del servidor, por ejemplo:

 

left=hr

server-right=testdb

 

En el ejemplo anterior la fuente de datos "hr" está en el equipo en que se ejecuta el cliente de línea de comandos DiffDog (sin servidor). La fuente de datos "testdb" se define en el archivo de configuración del cliente, en el equipo en que se ejecuta DiffDog Server.

 

map

Parámetro opcional. Esta opción indica qué columnas del lado izquierdo de la comparación se deben comparar con cuáles del lado derecho. Por ejemplo, puede que quiera comparar las columnas col1, col2 y col3 del lado izquierdo de la tabla con las columnas colA, colB y colC del conjunto de registros del lado derecho. Para indicar una columna puede usar el número ordinal de esa columna, empezando por el 1, o el nombre de dicha columna. Si usa el nombre, este debe estar entrecomillado. Ejemplo:

 

map = 1 => "col 2", 2 => "col1", "h" => 6, "i" => "x"

 

Por cada par de columnas del ejemplo anterior, la parte que va antes de "=>" corresponde al lado izquierdo y la parte que va después de esa flecha corresponde al lado derecho.

 

Si no define las asignaciones de las columnas la aplicación intentará asignar las columnas de forma automática basándose en su nombre y tipo de datos. Sin embargo, esas asignaciones pueden no funcionar correctamente si las columnas de uno y otro lado tienen nombres y tipos distintos.

 

xml-aware

Parámetro opcional. Si se habilita, esta opción realiza comparaciones XML (no de texto) para campos de BD de tipo XML. Esto solo se aplica a los campos que tengan un tipo de datos que el controlador reconozca como XML. Esta opción no afecta a los campos de BD que almacenen XML, como varchar o clob. Si necesita tratar estos campos como si fueran de tipo XML use la opción sql y realice una conversión de tipo a XML con consultas SQL.

 

Si define esta opción se siguen aplicando las opciones de comparación que pueda haber en el archivo de configuración o que se hayan indicado en la línea de comandos. En Windows, si DiffDog está instalado en el mismo equipo que el cliente de línea de comandos de DiffDog, entonces también se aplican las opciones XML del registro. DiffDog Server no lee las opciones del registro de Windows. Siempre puede ver las opciones actuales de la configuración del cliente ejecutando el comando showcfg. Para ver las opciones de la configuración del servidor ejecute el comando showcfg del ejecutable del servidor.

 

Para ver la referencia de todas las opciones de comparación XML consulte el comando diff.

 

whitespace-mode

Parámetro opcional. Se aplican solamente a campos de BD de tipo texto, como varchar, clob, etc. La opción define cómo se deben tratar los espacios en blanco en la comparación. Se entiende por espacios en blanco cualquiera de los siguientes caracteres: espacio, tabulador, salto de línea y retorno de carro). Si no se especifica esta opción, entonces los espacios en blanco serán tenidos en cuenta en la comparación. En caso contrario escoja uno de los siguientes valores:

 

normalize

El texto A es igual al texto B si, después de su normalización, los caracteres del texto A corresponden con los del texto B. "Normalización" significa reemplazar varias incidencias de distintos espacios en blanco por un único tipo de espacio en blanco. Asimismo, en este proceso se eliminan los espacios iniciales y finales de cada línea de texto.

strip

El texto A se considera igual que el texto B si, después de eliminar los espacios en blanco, los caracteres del texto A corresponden con los del texto B. En otras palabras, todos los espacios en blanco del texto se eliminan y no se tienen en cuenta en la comparación.

 

ignore-case

Parámetro opcional. Se aplica solamente a campos de BD de tipo texto, como varchar, clob, etc. Son valores válidos:

 

true

Realiza una comparación que no distingue entre minúsculas y mayúsculas (por ejemplo, "A" y "a" se consideran iguales).

false

(Predeterminada) Realiza una comparación que distingue entre minúsculas y mayúsculas (por ejemplo, "A" y "a" se consideran distintas).

 

server-output-path

Parámetro opcional. Indica la ruta en el servidor donde se guardarán los resultados de la comparación, por ejemplo:

 

server-output-path=/path/on/server.xml

 

Si tanto el cliente de la línea de comandos de DiffDog como DiffDog Server están instalados en el mismo equipo puede usar indistintamente server-output-path y client-output-path.

 

Si este parámetro no está definido, entonces los resultados de la comparación aparecerán en la línea de comandos (siempre y cuando no haya activado la opción -quiet=true).

 

client-output-path

Parámetro opcional. Indica la ruta en el equipo cliente donde se guardan los resultados de la comparación, por ejemplo:

 

client-output-path=/path/on/client.xml

 

Si este parámetro no está definido, entonces los resultados de la comparación aparecerán en la línea de comandos (siempre y cuando no haya activado la opción -quiet=true).

 

output-mode

Parámetro opcional. Indica el formato de salida de los resultados de la comparación. Son valores válidos text y xml. Por ejemplo:

 

output-mode=xml

 

Si esta opción no está activada el valor predeterminado es text.

 

treat-null-as-empty

Parámetro opcional. Habilite esta opción solo si necesita tratar los valores de BD NULL como cadenas vacías.

 

treat-null-as-empty=false

 

Por ejemplo, por defecto, una comparación entre los dos conjuntos de registros del ejemplo siguiente resultarán en una diferencia porque la segunda fila de la tabla izquierda está vacía, por lo que no equivale a la fila correspondiente en la tabla de la derecha. Sin embargo, si establece la opción treat-null-as-empty en true, los dos conjuntos de registros se consideran como iguales.

dds_null_recordsets


© 2019 Altova GmbH