Altova DiffDog Server 2023 

Antes de que pueda hacer comparaciones de datos de tablas de BD debe configurar un origen de datos que incluya los detalles de la conexión de BD y otros parámetros de configuración. Debe haber un origen de datos por cada tabla de BD, vista o consulta SQL personal que quiera incluir en la comparación. Si la comparación incluye archivos CSV, cada uno de ellos debe tener un origen de datos.

 

Para configurar un origen de datos abra el archivo de configuración del cliente y añada una sección [datasouce:<name>] nueva donde <name> sea el nombre único con el que quiere identificar este origen de datos. Más abajo enumeramos los parámetros que puede encontrar en una sección [datasource].

 

También puede añadir orígenes de datos al archivo de configuración del servidor. Esto puede ser útil si necesita conectarse al origen de datos desde el equipo en el que se está ejecutando DiffDog Server (no el cliente de línea de comandos de DiffDog). Sin embargo, debe tener en cuenta que las conexiones del lado servidor que necesiten autenticación de Windows para BD, como SQL Server, pueden tener problemas en este caso porque el servicio de DiffDog Server se ejecuta en un usuario distinto que puede no tener acceso a la base de datos. Una solución alternativa en este caso es definir el origen de datos en el archivo de configuración del cliente (el cliente de línea de comandos de DiffDog se ejecuta como el usuario que ejecuta el comando data-diff.

 

Como ya hemos mencionado, cada origen de datos debe tener una tabla, vista o un conjunto de registros al que haya asignado un nombre y que haya obtenido mediante una consulta SQL. Para indicarlos, defina las opciones table o sql (se excluyen mutuamente), que se explican más abajo. Es importante que cada tabla, vista o conjunto de registros tenga al menos una columna que garantice que cada fila es única. Esta columna (o columnas) es la columna "clave". Si la tabla tiene una clave primaria, entonces ya existe una columna clave que garantiza que la fila es única. De lo contrario recomendamos que indique qué columna o columnas deben tratarse como "clave". Para ello configure las opciones key-columns-by-name y key-columns-by-ordinal, que se explican más abajo.

 

type

Parámetro obligatorio. Indica el tipo de conexión de BD. Son valores válidos: ado, adonet, csv, jdbc, odbc, postgresql y sqlite. Ejemplo:

 

type=sqlite

 

Las conexiones de tipo csv, postgresql y sqlite vienen ya integradas y no necesitan controladores. Para otros tipos de BD elija un método de conexión BD apropiado para el equipo en el que se vaya a ejecutar el trabajo de comparación. Este tipo de conexiones necesitan que instale en el equipo los controladores correspondientes. Para más información consulte el apartado Bases de datos compatibles.

 

path

Este parámetro indica la ruta de acceso al archivo de BD y se puede aplicar a archivos CSV y a bases de datos SQLite. No configure este parámetro si quiere usar el parámetro connection, ya que se excluyen mutuamente.
 

path=C:\Articles.sqlite

SQLite

path=C:\data.csv

CSV

 

connection

Parámetro condicional. Indica la cadena de conexión a la BD. No configure este parámetro si quiere usar el parámetro path, ya que se excluyen mutuamente.

 

connection=Data Source=DBSQLSERV;User ID=altova_user;Password=dhjdf84h;Provider=SQLNCLI11.1;Initial Catalog=NANONULL;Persist Security Info=true

SQL Server (ADO)

connection=jdbc:db2://mydb2-105:50000/NANONULL

DB2 (JDBC)

connection=jdbc:oracle:thin:@dbora12c:1521:orcl12c

Oracle (JDBC)

connection=my.dbserver.com

PostgreSQL (nativa)

Nota:para conexiones nativas PostgreSQL connection también puede ser la dirección IP del servidor de BD, por ejemplo 127.0.0.1. La BD y el puerto de una conexión nativa PostgreSQL se indican en las opciones database y port.

 

Llame al comando db-drivers para ver las conexiones disponibles en el equipo local en un formato que pueda copiar y pegar. Además, si tiene una licencia de DatabaseSpy puede usar esta aplicación para crear una conexión de BD y después volver a utilizar los detalles de la conexión tal y como aparecen en la ventana Propiedades.

 

 
extend-classpath

Este parámetro solo se puede aplicar a conexiones JDBC. Es un parámetro opcional y permite ampliar la ruta de clase de Java al equipo en el que se está ejecutando DiffDog Server. Esto puede ser útil, por ejemplo, si no puede o no tiene privilegios para cambiar la variable de entorno CLASSPATH del sistema operativo. Tenga en cuenta que no es necesario configurar este valor si ya se han configurado todas las rutas de clase necesarias para la conexión JDBC con la variable de entorno CLASSPATH.

 

Si configura este valor, entonces se tendrá en cuenta además del valor que ya esté definido en la variable de entorno CLASSPATH. Por ejemplo, el valor siguiente añade dos archivos .jar a la ruta de clase para establecer una conexión con una base de datos IBM DB2:

 

extend-classpath=C:\jdbc\db2\db2jcc.jar;C:\jdbc\db2\db2jcc_license_cu.jar

 

 

Las rutas de los controladores JDBC definidas en la variable CLASSPATH, así como cualquier ruta de acceso a archivos .jar indicadas en el parámetro extend-classpath se pasan todas al equipo virtual Java (JVM). Este equipo decide qué controladores usar para establecer una conexión. Recomendamos que anote las clases Java que se cargan en el JVM para no crear conflictos con los controladores JDBC y para evitar resultados inesperados al conectarse a la base de datos.

 

database

Parámetro obligatorio y aplicable únicamente a conexiones PostgreSQL. Indica la BD de la conexión PostgreSQL.

 

database = ZooDB

 

port

Indica el puerto de la conexión de BD PostgreSQL. Se aplica solamente a conexiones de BD PostgreSQL nativas.

 

separator

Parámetro opcional. Solo se aplica a orígenes de datos CSV. Indica el separador del archivo CSV. Si no se indica, se asume por defecto que el separador es la coma. Son valores válidos la coma (valor predeterminado), el tabulador y el punto y coma.

 

separator=comma

 

table

Parámetro condicional. Indica el nombre completo de la tabla o vista de BD que se va a usar en el lado derecho o izquierdo de la comparación. Si configura este parámetro no configure sql, ya que se excluyen mutuamente. Ejemplos:

 

table=[HR].[dbo].[Employees]

SQL Server

table="ALTOVA_ADMIN"."customers"

IBM DB2

Consejo:si tiene instalado DatabaseSpy puede obtener el nombre completo de la tabla haciendo clic en la tabla en el explorador y seleccionando Mostrar en Editor SQL | Ruta de acceso en el menú contextual.

 

key-columns-by-name

Para cada tabla, vista o conjunto de registros debe haber al menos una columna que garantice que cada fila es única. Esta columna (o columnas) será la columna "clave". Si la tabla tiene una clave primaria, entonces ya existe una columna clave que garantiza que la fila es única. De lo contrario recomendamos que indique qué columna o columnas deben tratarse como "clave". No es necesario que sean columnas que formen parte de una clave primaria o única en la tabla. Ejemplos:

 

key-columns-by-name="guid"

 

 

key-columns-by-name="first_name","last_name","email"

 

Definir columnas "clave" es opcional pero es una práctica recomendada. Si no lo hace la aplicación las definirá de forma automática, pero puede que no lo haga de forma uniforme para todos los controladores de BD. Además, esa detección solo funciona para tablas o vistas, por lo que recomendamos que defina las columnas "clave" de forma explícita si está usando consultas SQL que devuelven valores computados o resultados devueltos por procedimientos almacenados.

 

key-columns-by-ordinal

Puede indicar una columna "clave" usando su nombre (véase más arriba) o con el número ordinal que tenga en la tabla, empezando por el 1. Esta opción permite identificar las columnas clave con sus números ordinales. Ejemplos:

 

key-columns-by-ordinal=1

 

 

key-columns-by-ordinal=1,2,5

 

Si define columnas clave el número de columnas clave debe ser el mismo en los dos orígenes de datos.

 

En el caso de los archivos CSV puede hacer referencia a columnas clave por su nombre:

 

si la primera fila del archivo CSV contiene los nombres de las columnas puede usar el nombre de la columna, por ejemplo:

 

key-columns-by-name="first","last"

 

si no hay ninguna fila de encabezado en el archivo CSV puede usar nombres como c1, c2, c3, etc., donde cada número identifica la columna correspondiente, por ejemplo:

 

key-columns-by-name=c1,c2

 

user

Parámetro condicional. Indica el nombre de usuario necesario para conectarse a la BD. Este parámetro no es necesario si la base de datos acepta conexiones anónimas o si la cadena de conexión ya incluye el nombre de usuario (véase el parámetro connection).

 

pass

Parámetro condicional. Indica la contraseña necesaria para conectarse a la BD. Este parámetro no es necesario si la base de datos  conexiones anónimas o si la cadena de conexión ya incluye la contraseña (véase el parámetro connection).

 

assembly

Esta opción es obligatoria para conexiones ADO.NET. Ejemplos:

 

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

Proveedor de datos para SQL Server.NET Framework

assembly=IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26

Proveedor de datos .NET Framework para IBM i

Ejecute el comando db-drivers para ver los ensamblajes .NET disponibles en el equipo local en un formato que pueda copiar y pegar.

 

 

class

Esta opción es obligatoria para conexiones ADO.NET y JDBC. Ejemplos:

 

class=com.ibm.db2.jcc.DB2Driver

IBM DB2 vía JDBC

class=com.mysql.jdbc.Driver

MySQL vía JDBC

class=System.Data.SqlClient

SQL Server vía ADO.NET

Ejecute el comando db-drivers para ver los controladores JDBC disponibles en el equipo local en un formato que pueda copiar y pegar.

 

sql

Parámetro condicional. Indica una consulta SELECT en la sintaxis de la BD actual. El conjunto de registros recuperado por la instrucción SELECT se puede usar como parte (izquierda o derecha) de la comparación. Si configura este parámetro no configure el parámetro table, ya que ambos se excluyen mutuamente.

 

sql="SELECT * FROM employees WHERE a > 5 and b < 6 ORDER BY c"

Consulta SELECT

sql="EXEC dbo.uspGetEmployeeManagers @BusinessEntityID = 50"

Procedimiento almacenado

Si indica una llamada a un procedimiento almacenado se espera que este devuelva un conjunto de registros, no únicamente parámetros de salida.

 

has-header-row

Parámetro opcional. Se aplica a archivos CSV solamente. Son valores válidos true y false. Si lo establece en true la primera fila del archivo CSV se trata como una columna de encabezado y no se incluye en la comparación.

 

has-header-row=true

© 2017-2023 Altova GmbH