data-diff

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

Inicio >  Línea de comandos de DiffDog Client >

data-diff

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 BD.

 

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.

 

--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.

 

--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\result.txt

 

En el archivo de configuración anterior las fuentes de datos [datasource:left_data] and [datasource:right_data] proporcionan los datos para los lados derecho e izquierdo de la comparación. La fuente de datos left_data apunta a la tabla "productos" de una BD SQLite local. La fuente 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 fuentes 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 una fuente de datos consulte el apartado Configurar fuentes 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 BD.


© 2019 Altova GmbH