Conexión JDBC genérica

Utilice la conexión JDBC genérica para conectarse a un origen de datos que no tiene ninguna conexión definida para Cloud Pak for Data.

Si desea conectarse a varias instancias del origen de datos de forma coherente, un administrador de Cloud Pak for Data puede crear un conector JDBC personalizado para el origen de datos. La conexión estará disponible en la página Nueva conexión con el nombre, los detalles y las propiedades definidas por el administrador que crea el conector.

Versiones de JDBC soportadas

El archivo JAR de JDBC debe ser compatible con JDK 8, JDBC versión 4.2 o anterior.

Requisitos previos

  • Cloud Pak for Data common core services deben estar instalados. Los common core services los instalan automáticamente los servicios que dependen de ellos. Si no ve la página Conexiones de plataforma , es porque ninguno de los servicios instalados en el entorno se basan en los common core services.

  • Cargue el controlador JDBC (archivo JAR) para la fuente de datos en Cloud Pak for Data. Consulte Importación de controladores JDBC en la documentación de IBM Software Hub para conocer el procedimiento y los permisos necesarios para cargar el archivo JAR en Cloud Pak for Data. Por defecto, la carga de archivos de controladores JDBC está desactivada y los usuarios no pueden ver la lista de controladores JDBC en el cliente web. Un administrador debe permitir a los usuarios cargar o ver los controladores de JDBC en la documentación de IBM Software Hub.

Detalles de la conexión

Importante: Consulte la documentación del proveedor del controlador para ver las propiedades necesarias, las propiedades soportadas y los tipos de datos soportados.

Para crear la conexión JDBC genérica, debe tener la siguiente información sobre el origen de datos.

Tabla 1. Detalles de conexión para JDBC genérico
Información Estado Descripción
Archivos JAR necesarios Obligatorio Los archivos JAR necesarios para conectarse al origen de datos. Si una conexión JDBC requiere varios archivos JAR, asegúrese de que sabe qué archivos JAR son necesarios.
Clase de controlador JDBC Obligatorio El nombre de la clase de controlador JDBC . Este nombre lo especifica el proveedor del controlador JDBC . Para obtener detalles, consulte la documentación del controlador JDBC .
Nota: Cuando se utilizan conexiones genéricas de JDBC en flujos de DataStage, la configuración del controlador se puede gestionar a través de la configuración del servicio DataStage. Para obtener más información, consulte la documentación de DataStage sobre la gestión de controladores.
JDBC URL Obligatorio La URL JDBC utilizada para conectarse a la base de datos. Consulte la documentación del controlador JDBC para obtener información sobre la sintaxis de la URL.
SSL detalles Condicional Si el puerto que ha especificado en JDBC URL está configurado para aceptar conexiones SSL, asegúrese de seleccionar El puerto está configurado para aceptar conexiones SSL.

Si el origen de datos utiliza certificados encadenados, puede especificar el contenido de varios certificados.

Si pega el certificado autofirmado en el cuadro Certificado de SSL, el certificado se importará a un almacén de confianza temporal y se protegerá con una contraseña. Debe hacer referencia al almacén de confianza y a la contraseña en la conexión JDBC URL especificando las propiedades de conexión en el cuadro de propiedades JDBC.
Por ejemplo:

ssl=true
sslTrustStoreLocation=${truststore_file}
sslTrustStorePassword=${truststore_password}
Tamaño de lote Opcional El número máximo de filas que se deben enviar a la base de datos. El valor predeterminado es 2000.
Tamaño de captación Opcional Número máximo de filas que se deben captar de la base de datos para cada llamada. El valor predeterminado es 2000.
El conector utiliza la estructura de catálogo Opcional Algunos orígenes de datos utilizan catálogos en lugar de esquemas para estructurar datos. Seleccione esta opción después de consultar la documentación del proveedor del controlador para confirmar que la base de datos utiliza una estructura de catálogo.
Sensibilidad a mayúsculas y minúsculas Condicional Si los ID de la base de datos distinguen entre mayúsculas y minúsculas, seleccione Indica si los valores de ID de esta base de datos distinguen entre mayúsculas y minúsculas.
Propiedades de JDBC Opcional Las propiedades de JDBC que se deben utilizar para conectarse a la base de datos. Especifique las propiedades con este formato:

key1=value1;key2=value2;key3=value3

Consulte la documentación del controlador JDBC para obtener información sobre las propiedades soportadas.
Soporte de límite de filas Opcional Indica si el controlador soporta un límite de fila en una sentencia SELECT. Puede especificar Ninguno, Prefijo o Sufijo.
Importante: Si deja la opción, o la especifica, como Ninguna la interfaz de la base de datos seleccionará todas las filas de la tabla de origen aunque la aplicación sólo necesite una pequeña muestra. Esto puede llevar más tiempo y memoria de lo esperado.
Se recomienda especificar la sintaxis SQL adecuada si el sistema de base de datos de origen admite un límite de filas en las consultas SQL.
Prefijo de límite de fila Condicional Si establece el soporte de límite de filas en Prefijo, especifique el prefijo que se utiliza para indicar un límite de fila en una sentencia SELECT.
Utilice ${row_limit} para indicar dónde colocar el valor de límite de fila. Por ejemplo:

TOP ${row_limit}
Importante: No sustituya manualmente el valor {row_limit} por un número. Esto es parte del comando SQL y el valor será insertado por la aplicación que ejecuta el comando. Los criterios SQL utilizados en los campos correspondientes pueden variar y dependen del lenguaje de la base de datos.
Sufijo de límite de fila Condicional Si establece el soporte de límite de fila en Sufijo, especifique el sufijo que se utiliza para indicar un límite de fila en una sentencia SELECT.
Utilice ${row_limit} para indicar dónde colocar el valor de límite de fila. Por ejemplo:

LIMIT ${row_limit} ROWS
Importante: No sustituya manualmente el valor {row_limit} por un número. Esto es parte del comando SQL y el valor será insertado por la aplicación que ejecuta el comando. Los criterios SQL utilizados en los campos correspondientes pueden variar y dependen del lenguaje de la base de datos.

Para Credenciales y Certificados, puede utilizar secretos si se ha configurado una caja fuerte para la plataforma y el servicio da soporte a cajas fuertes. Para obtener información, consulte Utilización de secretos de cajas fuertes en conexiones.

Conformidad con FIPS (Federal Information Processing Standards)

Esta conexión se puede utilizar en un clúster habilitado para FIPS (tolerante con FIPS); sin embargo, no es compatible con FIPS. Pruebe la conexión para confirmar que funciona.

URL de JDBC de ejemplo

Importante: Siga la documentación del proveedor del controlador para confirmar qué propiedades adicionales incluir.
Databricks
Controlador: com.simba.spark.jdbc.Driver

jdbc:spark://<DatabricksHost>:443/default;transportMode=http;ssl=1;AuthMech=3; httpPath=<Databricks_compute_resources_URL>;connCatalog=<WKC_catalog>;UID=token; PWD=<password>?EnableArrow=

Para obtener más información, consulte Creación de la URL conexión para el controlador Spark heredado.


Db2
Controlador: com.ibm.db2.jcc.DB2Driver

jdbc:db2://<Hostname>:<Port>/<DatabaseName>

Microsoft SQL Server
Controlador: com.microsoft.sqlserver.jdbc.SQLServerDriver

El controlador de Microsoft SQL Server funciona para la autenticación de Windows. Descargue la última versión del controlador JDBC de Microsoft para SQL Server.

Propiedades necesarias para el controlador de Microsoft SQL Server :

  • server_address
  • authenticationScheme=NTLM
  • integratedSecurity=true

jdbc:sqlserver://<server_address>:<port><\your_instance>;database=<DatabaseName>; authenticationScheme=NTLM;integratedSecurity=true;domain=<your_domain>


MongoDB
Controlador: com.ddtek.jdbc.mongodb.MongoDBDriver y Puerto: SSL - Habilitado seleccionado.

jdbc:datadirect:mongodb://<MongoDBHost>:<MongoDBPort>;DatabaseName=<DatabaseName>;SchemaMap=/tmp/mongodb.config;EncryptionMethod=SSL;ValidateServerCertificate=false;ReadOnly=false;

MySQL
Controlador: com.mysql.cj.jdbc.Driver

jdbc:mysql://<MySQLHost>:<MySQLPort>/<DatabaseName>?useSSL=false

Oracle
Controlador: oracle.jdbc.OracleDriver

Con un SID:
jdbc:oracle:thin:@<Hostname>:<Port>:<ORACLE_SID>

Con un SERVICE_NAME:
jdbc:oracle:thin:@//<Hostname>:<Port>/<ORACLE_SERVICE_NAME>

Para una conexión SSL a una base de datos Oracle, debe proporcionar un certificado en las propiedades de conexión e incluir este código para que URL pase el certificado al controlador:

?javax.net.ssl.trustStore=${truststore_file}&javax.net.ssl.trustStorePassword=${truststore_password}

Ejemplos de formatos para una conexión SSL a una base de datos Oracle :

Con un SID:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=<hostname>)(PORT=<port>))(CONNECT_DATA=(SID=<ORACLE_SID>)))?javax.net.ssl.trustStore=${truststore_file}&javax.net.ssl.trustStorePassword=${truststore_password}

Con un SERVICE_NAME:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=<hostname>)(PORT=<port>))(CONNECT_DATA=(SERVICE_NAME=<ORACLE_SERVICE_NAME>)))?javax.net.ssl.trustStore=${truststore_file}&javax.net.ssl.trustStorePassword=${truststore_password}

Más información