Altova DiffDog Server 2023 

El comando data-diff ejecuta uno o más trabajos de comparación de datos que se han configurado previamente. Por defecto, los resultados de la comparación se muestran en la línea de comandos en formato XML. Para controlar el tipo de salida (texto, XML) defina la opción output-mode del archivo de configuración. La ruta de acceso al archivo de salida se puede indicar con las opciones client-output-path o server-output-path. Para más información sobre cómo configurar trabajos de comparación de BD consulte el apartado Comparación de datos CSV y de BD.

 

Para ejecutar archivos *.dbdif con DiffDog Server recomendamos ejecutar DiffDog Server en el mismo equipo que la aplicación de escritorio DiffDog o bien en un equipo Windows. Si DiffDog Server se ejecuta en un equipo o en un sistema operativo distinto, debe tener en cuenta estas limitaciones:

 

si la comparación incluye archivos CSV, solo puede ejecutar archivos *.dbdif en servidores Windows. Para que la comparación se realice con éxito todas las rutas de acceso a los archivos CSV que eran válidas en el equipo de escritorio deben serlo también en el equipo servidor.

si la comparación incluye bases de datos, el equipo servidor debe estar configurado y ser capaz de establecer y mantener la conexión de BD. Es decir, debe tener instalados los controladores de la BD y cumplir con cualquier otro requisito necesario para la conexión también en el equipo de destino. Por ejemplo, si el archivo *.dbdif incluye una conexión que necesita un controlador ODBC del proveedor de BD, debe tener ese controlador instalado también en el equipo servidor. Tenga en cuenta que algunos métodos de conexión a bases de datos admitidos en Windows no son compatibles con Linux y macOS. Para más información consulte Bases de datos compatibles.

 

Si configura los trabajos de comparación directamente en DiffDog Server (en vez de con archivos *.dirdif) puede ejecutarlos independientemente de la plataforma.

 

Para obtener los resultados de la comparación como valor numérico compruebe el valor de la variable de entorno %ERRORLEVEL% después de ejecutar este comando. Los posibles valores son:

 

Código de salida

Significado

0

No existen diferencias

1

Existen diferencias

2

Ha ocurrido un error

 

Sintaxis

DiffDogCmdlClient data-diff [options] {job} ...

 

Donde job hace referencia a una sección [datadiff] definida en el archivo de configuración del cliente. Puede indicar el argumento job más de una vez para efectuar varios trabajos de comparación de bases de datos ejecutando el comando una sola vez.

 

En Linux debe usar minúsculas para llamar al ejecutable. Además, es posible que en Linux y macOS tenga que añadir el prefijo "./" antes del nombre del ejecutable al llamarlo desde el directorio actual de la línea de comandos.

 

También puede llamar a este comando con el alias compare-data. Puede usar indistintamente compare-data y data-diff.

 

Opciones

A continuación enumeramos las opciones que se pueden aplicar al comando data-diff.

 

--config, --c

Esta opción indica la ruta de acceso a un archivo de configuración del cliente en el que está definido <named_datadiff>.

 

Si no establece la opción --c, el ejecutable de DiffDog Client intentará leer el archivo de configuración del cliente desde el mismo directorio. Si no existe un archivo de configuración en el mismo directorio que el ejecutable se usarán los valores descritos en la ayuda de la línea de comandos y en esta documentación.

 

--loglevel, --L

Establece el nivel de información que se proporciona sobre mensajes de información, advertencia y error. Son valores válidos:

 

none

No informa de nada.

info

Informa acerca de mensajes de información, advertencia y error.

warning

Informa acerca de mensajes de advertencia y error.

error

(valor predeterminado) Solo informa acerca de mensajes de error.

--port

Esta opción indica el puesto en el que DiffDog Server atiende las respuestas. Activar esta opción es útil si DiffDog Server se ejecuta en un puerto que no sea el predeterminado, 29800. Puede definir esta opción en la línea de comandos o en el archivo de configuración del cliente. Tenga en cuenta que si la define desde la línea de comandos esta opción tiene prioridad frente a la que se haya definido en el archivo de configuración.

 

--quiet, --q

Evita que la salida estándar se muestre en la línea de comandos. Son valores válidos:

 

true

No muestra la salida estándar en la ventana terminal.

false

(Predeterminado) Muestra la salida estándar en la ventana terminal.

 

--output-mode, --om

 

Esta opción indica el formato del informe de la comparación. Son valores válidos:

 

text

El informe se genera en formato texto.

sql

Genera el informe en formato SQL. Este valor es importante si el lado derecho de la comparación de datos es una BD. Este valor contiene instrucciones SQL que combinan datos de la comparación de izquierda a derecha. Por ejemplo, si falta alguna fila en el lado derecho se generan instrucciones INSERT. Si en el lado derecho sobran filas, entonces se generan instrucciones DELETE. Para valores que hayan cambiado se generan instrucciones UPDATE.

xml

El informe se genera en formato XML.

 

El valor predeterminado es sql. Sin embargo, cuando el lado izquierdo de la comparación es una BD y el derecho un archivo CSV, la opción predeterminada es text.

 

--server

Esta opción indica el puesto en el que DiffDog Server atiende las respuestas. Activar esta opción es útil si DiffDog Server se ejecuta en un servidor que no sea el predeterminado, localhost. Puede definir esta opción en la línea de comandos o en el archivo de configuración del cliente. Tenga en cuenta que si la define desde la línea de comandos esta opción tiene prioridad frente a la que se haya definido en el archivo de configuración.

 

Ejemplo

Este comando efectúa un único trabajo de comparación de BD llamado "reports".

 

DiffDogCmdlClient data-diff reports

 

Se asume que el archivo de configuración del cliente contiene una sección [datadiff:reports], por ejemplo:

 

[datasource:left_data]
type = sqlite
path = c:\comparisons\db\Nanonull_Left.sqlite
table = "main"."products"
 
[datasource:right_data]
type = adonet

connection = Data Source=SQLSERV16;Initial Catalog=NANONULL;MultipleActiveResultSets=True;Password=7hiu57;Persist Security Info=True;User ID=altova

assembly = System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

class = System.Data.SqlClient

table = [NANONULL].[dbo].[PRODUCTS]
 
[datadiff:reports]
left = left_data
right = right_data
map = 1 => 1, 2 => 2, 3 => 3

output-mode=text

client-output-path=c:\comparisons\db\esult.txt

 

En el archivo de configuración anterior los orígenes de datos [datasource:left_data] and [datasource:right_data] proporcionan los datos para los lados derecho e izquierdo de la comparación. El origen de datos left_data apunta a la tabla "productos" de una BD SQLite local. El origen de datos right_data apunta a la tabla "PRODUCTS" de una BD SQL Server. Las dos tablas tienen una clave primaria, por lo que no es necesario indicar una columna clave usando la opción key-column-by-name.

 

La sección [datadiff:reports] indica que las dos orígenes de datos mencionadas más arriba son los lados izquierdo y derecho de la comparación. También hace la asignación de las columnas que se van a comparar. En este ejemplo, las columnas primera, segunda y tercera de la izquierda están asignadas, respectivamente, a las columnas primera, segunda y tercera de la derecha. Se ha establecido que el resultado de la comparación debe estar en formato texto y guardarse en un archivo de texto local.

 

Esta lista de opciones no es exhaustiva; para ver la referencia de todas las opciones que se pueden definir en un origen de datos consulte el apartado Configurar orígenes de datos. Para ver las opciones que puede definir en un trabajo de comparación de bases de datos, consulte el apartado Configurar comparaciones de CSV y BD.

© 2016-2022 Altova GmbH