Saltar al contenido

Conectar con Microsoft usando el conector de Base de datos en Jitterbit Studio

Esta página explica cómo conectar con estos servicios de Microsoft usando el conector de Base de datos:

Microsoft Access

Debe ejecutar un agente privado para conectar con Microsoft Access. Microsoft Office debe estar instalado en el mismo sistema en el que se ejecuta el agente privado, y ese sistema debe ser un sistema operativo Windows. Tenga en cuenta que el equipo de Jitterbit no ha probado los controladores ODBC de Linux para Microsoft Access.

Instalar el controlador ODBC

El controlador ODBC de Microsoft Access generalmente se instala como parte de Windows. Los controladores más antiguos admiten la extensión de archivo .mdb. Sin embargo, si su base de datos es Access 2007 o posterior con la extensión .accdb, es posible que necesite obtener una versión más reciente del controlador ODBC, como Microsoft Access 2016 Redistributable.

Configurar la conexión de Base de datos

Una vez que se instale el controlador, especifique estas entradas durante la configuración de la conexión de Base de datos:

  • Tipo de controlador: Seleccione ODBC.

  • Controlador: Seleccione el controlador de Microsoft Access.

  • Usar cadena de conexión: En Configuración opcional, marque esta casilla.

  • Cadena de conexión: En Configuración opcional, ingrese la cadena de conexión manual usando este formato:

    DRIVER=<driver>;DBQ=<database-path>;UID=<username>;PWD=<password>;
    

    Use una de estas cadenas de conexión, dependiendo de la versión y si tiene una contraseña. Reemplace la ruta de la carpeta y el nombre del archivo con los específicos del archivo ubicado en su agente privado.

    Controlador de Microsoft Access (*.mdb) sin contraseña
    DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\myfolder\mydatabase.accdb;
    
    Controlador de Microsoft Access (*.mdb, *.accdb) con contraseña
    DRIVER={Microsoft Access Driver(*.mdb, *accdb)};DBQ=C:\myfolder\mydatabase.accdb;UID=username;PWD=password;
    

Configurar actividades de base de datos

Durante la configuración de la actividad de Base de datos, tenga en cuenta que el controlador ODBC de Microsoft Access no admite la búsqueda de objetos. No ingrese criterios de búsqueda en el cuadro de búsqueda de selección de tabla, ya que no se devolverán resultados.

Ejemplos de cláusula WHERE

Estos ejemplos de cláusula WHERE se proporcionan con fines de referencia al configurar una actividad de consulta de Base de datos:

WHERE [LastName]='Bagel'
WHERE field1 LIKE field2
WHERE City = "Chicago" OR BirthDate < DateAdd (" yyyy ", -40, Date())

Para obtener ejemplos adicionales, consulte la documentación de Microsoft:

Microsoft Excel

Debe usar un agente privado para conectar con una hoja de cálculo de Microsoft Excel.

Instalar el controlador ODBC

Para conectar con hojas de cálculo de Excel, es posible que necesite instalar un controlador si el controlador apropiado no ya está incluido en el sistema operativo del agente privado.

Por ejemplo, Windows 10 viene con controladores ODBC de x32 .xls que admiten las versiones 3.0, 4.0, 5.0/95 y 97-2000 de Excel. Sin embargo, para obtener los controladores ODBC más recientes que admiten todas estas versiones y Excel 12.0 (Excel 2007), puede instalar uno de estos controladores:

Configurar la conexión de base de datos

Después de instalar el controlador, especifica estas entradas durante la configuración de la conexión de base de datos:

  • Tipo de controlador: Selecciona ODBC.

  • Controlador: Selecciona el controlador de Microsoft Excel.

  • Usar cadena de conexión: En Configuración opcional, marca esta casilla.

  • Cadena de conexión: En Configuración opcional, utiliza una de estas cadenas de conexión, según tu versión de Excel. Reemplaza la ruta de carpeta y el nombre de archivo con los específicos del archivo ubicado en el agente privado.

    Excel 97, Excel 2000, Excel 2002, Excel 2003
    Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
    DBQ=C:\Folder Path\My File Name.xls;
    
    Excel 2007, Excel 2010, Excel 2013
    Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
    DBQ=C:\Folder Path\My File Name.xlsx;
    

    Para especificar que la conexión sea actualizable (por ejemplo, si deseas permitir la escritura en un archivo de destino), puedes agregar ReadOnly=0; al final de la cadena de conexión. Por ejemplo:

    Actualizable
    Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
    DBQ=C:\Folder Path\My File Name.xlsx;ReadOnly=0;
    

    Consejo

    Consulta opciones adicionales para cadenas de conexión de Excel en Microsoft Excel 2007 ODBC Driver connection strings en The Connection Strings Reference.

Configurar actividades de base de datos

Durante la configuración de la actividad de base de datos, puedes seleccionar y unir hojas de trabajo dentro de la hoja de cálculo de Excel.

Nota

Al ejecutar la operación, si recibes un error "[Microsoft][ODBC Excel Driver] Operation must use an updateable query," es posible que el archivo de Excel sea de solo lectura. Puedes permitir que tu archivo de Excel sea actualizable agregando ReadOnly=0; a tu cadena de conexión mientras configuras el extremo como se describe anteriormente.

Microsoft SQL Server

Las bases de datos de Microsoft SQL Server son accesibles para agentes en la nube y privados. Se recomienda ODBC de Windows en agentes privados para optimizar el rendimiento. Si deseas usar funciones adicionales, como proporcionar una consulta manual, estas están disponibles solo con el controlador JDBC. Harmony admite estas opciones de autenticación:

Tipo de controlador Sistema operativo Métodos de autenticación Tipo de agente Requisitos adicionales
ODBC Windows Autenticación de Windows o autenticación de SQL Server Solo privado
JDBC Windows Autenticación de Windows Solo privado
JDBC Windows/Linux Autenticación de SQL Server Nube o privado
JDBC Windows/Linux Autenticación de Microsoft Entra Nube o privado Agente 11.45 o posterior
JDBC Windows/Linux Autenticación Kerberos Solo privado

Nota

Para la configuración de autenticación Kerberos, consulta Autenticación Kerberos de SQL Server.

Los procedimientos siguientes muestran cómo configurar Microsoft SQL Server como una conexión de Base de datos usando autenticación de Windows, SQL Server o Microsoft Entra. También incluyen ejemplos de cláusulas WHERE que puedes usar con actividades de base de datos.

Autenticación de Windows

La autenticación de Windows se admite usando ODBC y JDBC solo en agentes privados. Se puede usar con una única cuenta de dominio. Para usar autenticación de Windows, configura estas propiedades en Windows:

  1. Abre la herramienta Servicios Administrativos (Inicio > Herramientas administrativas > Servicios).

  2. Si usas ODBC, haz clic derecho en el servicio Jitterbit Apache Server y selecciona Propiedades. Si usas JDBC, haz clic derecho en el servicio Jitterbit Tomcat Server y selecciona Propiedades.

  3. Ve a la pestaña Iniciar sesión. Selecciona Esta cuenta e ingresa el nombre y las credenciales de la cuenta que deseas usar para la autenticación. Luego haz clic en Aplicar.

  4. Repite para el servicio Jitterbit Process Engine.

  5. Establece TempDir en el archivo de configuración del agente (jitterbit.conf) en C:\Windows\Temp\jitterbit.

  6. Reinicia los servicios de Jitterbit.

Precaución

Asegúrate de haber otorgado al usuario del dominio el privilegio de Iniciar sesión como servicio y Actuar como parte del sistema operativo. Verifica que el usuario del dominio tenga permisos de lectura y escritura en el directorio de instalación del agente privado.

Nota

Una alternativa a los pasos 1 a 4 anteriores es otorgar a la cuenta que se usa en la máquina del agente privado permisos en SQL Server. El administrador de SQL Server puede hacer esto configurando la cuenta de la máquina del agente privado en Active Directory de Windows (<domainName>\<machineName>$).

Después de completar estos pasos, ve a Studio y configura tu base de datos como de costumbre, especificando estas entradas durante la configuración de la conexión de Base de datos:

  • Tipo de controlador: Selecciona ODBC o JDBC según corresponda.

    Importante

    La autenticación de Windows se admite con los siguientes controladores JDBC:

    Para usar autenticación de Windows con un controlador JDBC, copia un archivo DLL en el agente, dependiendo del controlador que selecciones:

    • SQL Server jTDS: Copia el archivo ntlmauth.dll de la carpeta x64/SSO del paquete de descarga del proyecto jTDS a la carpeta C:\Program Files\Jitterbit Agent\jre\bin en el agente.

    • SQL Server MS JDBC, o una versión más reciente de Microsoft JDBC Driver para SQL Server: Copia el archivo mssql-jdbc_auth-x.x.x.x64.dll incluido en el paquete de descarga del controlador a las carpetas C:\Program Files\Jitterbit Agent\jre\bin y C:\Program Files\Jitterbit Agent\jre\lib en el agente. La versión del DLL debe coincidir con la versión del archivo JAR de JDBC incluido en el agente. Haz una copia de seguridad del archivo ya que puede eliminarse durante actualizaciones principales del agente.

  • Controlador: Selecciona el controlador de SQL Server.

  • Nombre del servidor: Ingresa el nombre o la dirección IP del servidor que ejecuta SQL Server al cual Harmony necesita conectarse. Puede ser necesario que especifiques el nombre de la instancia de SQL Server (HostName\InstanceName).

  • Nombre de la base de datos: Ingresa el nombre de la base de datos en el servidor al cual Harmony necesita conectarse.

  • Inicio de sesión y Contraseña: Deja estos campos en blanco.

  • Parámetros adicionales de cadena de conexión: En Configuración opcional, ingresa lo siguiente dependiendo de tu controlador:

    • ODBC SQL Server: Si usas el controlador ODBC SQL Server, ingresa integratedSecurity=true. Si esto no funciona, ingresa Trusted_Connection=yes.

    • ODBC Driver 11 para SQL Server, SQL Server Native Client 10.0, SQL Server Native Client 11.0: Si usas otro controlador ODBC SQL Server, ingresa Trusted_Connection=yes.

  • SQL Server jTDS [JDBC]: Ingresa integratedSecurity=true.

    • SQL Server MS JDBC [JDBC]: Ingresa integratedSecurity=true;trustServerCertificate=true.

El controlador ahora se autenticará como el usuario del dominio Windows especificado anteriormente.

Autenticación de SQL Server

Ve a Studio y configura tu base de datos de la manera habitual. Especifica estos valores durante la configuración de la Conexión de base de datos:

  • Tipo de controlador: Selecciona ODBC o JDBC según corresponda.

  • Controlador: Selecciona el controlador de SQL Server. Al seleccionar un controlador JDBC, recomendamos usar SQL Server MS JDBC, el controlador JDBC de Microsoft para SQL Server.

  • Nombre del servidor: Ingresa el nombre o la dirección IP del servidor que ejecuta SQL Server al que Harmony necesita conectarse. Es posible que debas especificar el nombre de la instancia de SQL Server (HostName\InstanceName).

  • Nombre de la base de datos: Ingresa el nombre de la base de datos en el servidor al que Harmony necesita conectarse.

  • Usuario y Contraseña: Ingresa el nombre de usuario y la contraseña para la autenticación de SQL Server.

El controlador ahora se autenticará usando las credenciales de autenticación de SQL Server especificadas.

Autenticación de Microsoft Entra

Se admite la autenticación de Microsoft Entra (anteriormente Azure Active Directory) usando JDBC en agentes en la nube y privados. Configura tu base de datos de la manera habitual usando el controlador SQL Server MS JDBC y especifica estos valores en la Conexión de base de datos:

  • Usuario y Contraseña: Ingresa el nombre de usuario y la contraseña de la cuenta de Microsoft Entra.

  • Parámetros de cadena de conexión adicionales: En Configuración opcional, ingresa authentication=ActiveDirectoryPassword.

Si la base de datos está protegida por un cortafuegos, como el cortafuegos de Azure SQL Database, permite que el agente se conecte. Para un grupo de agentes en la nube, agrega las direcciones IP de los agentes en la nube de Jitterbit de tu región. Para un agente privado, permite la dirección IP desde la que se conecta el agente. De lo contrario, la conexión fallará con un error indicando que la dirección IP del cliente no tiene permiso para acceder al servidor.

Cifrado de conexión y certificados de servidor

Las versiones actuales del controlador SQL Server MS JDBC solicitan una conexión cifrada por defecto (encrypt=true) y validan el certificado que presenta el servidor de base de datos. Si el controlador no puede validar el certificado del servidor con el almacén de claves Java del agente, la conexión fallará con un error similar a este:

"encrypt" property is set to "true" and "trustServerCertificate" property is set to "false" but the driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption: Error: (certificate_unknown) PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.

Esto afecta a cualquier SQL Server cuyo certificado no se pueda rastrear hasta una autoridad de certificación (CA) en la que el agente ya confía, incluyendo un certificado autofirmado o emitido internamente. Amazon RDS para SQL Server es un ejemplo: una instancia de RDS presenta un certificado emitido por una CA de Amazon RDS que no está en el almacén de claves predeterminado del agente. Una base de datos puede tener el cifrado habilitado y un certificado válido instalado y aun así fallar esta validación, porque la falla es de confianza en lugar de cifrado.

La versión 12.8 del agente actualizó el controlador JDBC de Microsoft SQL Server incluido. Microsoft cambió el valor predeterminado de encrypt de false a true en la versión 10.2 del controlador y documenta ese cambio como uno con cambios significativos, descrito en encrypt en Establecer las propiedades de conexión en la documentación de Microsoft. Por lo tanto, una conexión que funcionaba en un agente anterior a la 12.8 puede comenzar a fallar después de la actualización.

Para resolver esto, ingresa encrypt=false; en el campo Parámetros de cadena de conexión adicionales dentro de Configuración opcional de la Conexión de base de datos, o inclúyelo en una cadena de conexión manual. Esto funciona en agentes en la nube y agentes privados.

Precaución

Con encrypt=false, los datos viajan sin cifrar entre el agente y la base de datos. Usa esta opción solo cuando sea aceptable para los datos y la ruta de red involucrada.

Tu configuración de SQL Server puede requerir otras propiedades de conexión también. Para las propiedades que admite el controlador, consulta Establecer las propiedades de conexión en la documentación de Microsoft.

Ejemplos de cláusula WHERE

Se proporcionan estos ejemplos de cláusula WHERE como referencia al configurar una actividad de consulta de base de datos:

WHERE LastName = 'Smith' ;
WHERE LastName LIKE ('%Smi%');
WHERE EmployeeKey  <= 500;
WHERE EmployeeKey = 1 OR EmployeeKey = 8 OR EmployeeKey = 12;
WHERE EmployeeKey <= 500 AND LastName LIKE '%Smi%' AND FirstName LIKE '%A%';
WHERE LastName IN ('Smith', 'Godfrey', 'Johnson');
WHERE EmployeeKey Between 100 AND 200;

Para ejemplos adicionales, consulta la documentación de Microsoft: