Saltar al contenido

Configurar una fuente de base de datos Microsoft SQL en Jitterbit Design Studio

Esta página describe cómo configurar Microsoft SQL Server como fuente u objetivo dentro de Jitterbit Studio usando autenticación de Windows o SQL Server. Consulta Base de datos para obtener información sobre los tipos de autenticación admitidos en varios sistemas.

Nota

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

Autenticación de Windows

La autenticación de Windows es compatible mediante ODBC y JDBC solo en agentes privados y se puede usar con una sola 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 un privilegio de Iniciar sesión como servicio y Actuar como parte del sistema operativo. También asegúrate de que el usuario del dominio tenga derechos de lectura y escritura en el directorio de instalación de Jitterbit.

Nota

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

Una vez que completes los pasos anteriores, ve a Jitterbit Studio y configura tu fuente u objetivo como de costumbre. En la pantalla de definición de fuente/objetivo de base de datos bajo Parámetros de conexión, especifica lo siguiente:

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

    Importante

    La autenticación de Windows es compatible con los siguientes controladores JDBC:

    Para usar autenticación de Windows con un controlador JDBC, copia un archivo DLL al agente, según el 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 del Controlador JDBC de Microsoft 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 podría eliminarse durante actualizaciones importantes del agente.

  • Nombre del servidor: Ingresa el nombre o dirección IP del servidor que ejecuta SQL Server al que Jitterbit necesita conectarse. Es posible que tengas que especificar el nombre de instancia de SQL Server (NombreDHost\NombreInstancia).

  • Nombre de la base de datos: Ingresa el nombre de la base de datos en el servidor con la que Jitterbit necesita integrarse.
  • Inicio de sesión: Deja este campo en blanco.
  • Contraseña: Deja este campo en blanco.
  • Opciones: Haz clic para expandir configuración adicional. En el campo Parámetros de cadena de conexión adicionales, ingresa lo siguiente según tu controlador:

  • SQL Server [ODBC]: Si utilizas el controlador "SQL Server [ODBC]", ingresa integratedSecurity=true. Si esto no funciona, ingresa Trusted_Connection=yes.

    • ODBC Driver 11 for SQL Server [ODBC], SQL Server Native Client 10.0 [ODBC], SQL Server Native Client 11.0 [ODBC]: Si utilizas otro controlador de 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 de Windows especificado anteriormente.

Autenticación de SQL Server

Ve a Jitterbit Studio y configura tu origen o destino de manera normal. En la pantalla de definición del origen/destino, bajo Parámetros de conexión, especifica lo siguiente:

  • Controlador: El controlador de SQL Server puede ser un controlador ODBC o JDBC.

    Nota

    Al seleccionar un controlador JDBC, recomendamos utilizar "SQL Server MS JDBC [JDBC]," el controlador JDBC de Microsoft para SQL Server, que se incluye con los agentes de Jitterbit a partir de la versión 9.3.

  • Nombre del servidor: Ingresa el nombre o la dirección IP del servidor que ejecuta el SQL Server al cual Jitterbit necesita conectarse. Es posible que tengas que especificar el nombre de la instancia de SQL Server (NombreDelHost\NombreDeInstancia).

  • Nombre de la base de datos: Ingresa el nombre de la base de datos en el servidor con la cual Jitterbit necesita integrarse.

  • Usuario: Ingresa el nombre de usuario para la autenticación de SQL Server.

  • Contraseña: Ingresa la contraseña para la autenticación de SQL Server.

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

Cifrado de conexión y certificados de servidor

Las versiones actuales del controlador SQL Server MS JDBC solicitan una conexión cifrada de manera predeterminada (encrypt=true) y validan el certificado que presenta el servidor de bases de datos. Si el controlador no puede validar el certificado del servidor en comparación con el almacén de claves de Java del agente, la conexión falla 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 pueda trazarse hasta una autoridad de certificación (CA) que el agente ya confíe, 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 aún 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 un cambio importante, descrito bajo encrypt en Establecer las propiedades de conexión en la documentación de Microsoft. Por lo tanto, un origen que funcionaba en un agente anterior a 12.8 puede comenzar a fallar después de la actualización.

Para resolver esto, expande Opciones e ingresa encrypt=false; en el campo Parámetros adicionales de cadena de conexión, o inclúyelo en la cadena de conexión si seleccionaste Construir la cadena de conexión manualmente. Esto funciona en agentes en la nube y privados.

Precaución

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

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