Connexion JDBC générique

Utilisez la connexion JDBC générique pour vous connecter à une source de données pour laquelle aucune connexion Cloud Pak for Data n'est définie.

Si vous souhaitez vous connecter à plusieurs instances de la source de données de manière cohérente, un Cloud Pak for Data administrateur peut créer un connecteur JDBC personnalisé pour la source de données. La connexion sera disponible sur la page Nouvelle connexion avec le nom, les détails et les propriétés définis par l'administrateur qui crée le connecteur.

Versions JDBC prises en charge

Le fichier JDBC JAR doit être compatible avec JDK 8, JDBC version 4.2 ou antérieure.

Conditions requises

  • common core servicesCloud Pak for Data doit être installé. Ils common core services sont automatiquement installés par les services qui en ont besoin. Si vous ne voyez pas la page Connexions à la plateforme, c'est parce qu'aucun des services installés dans votre environnement ne dépend du common core services.

  • Téléchargez le JDBC pilote (fichier JAR) pour la source de données vers Cloud Pak for Data. Consultez la section Importation JDBC de pilotes dans la IBMSoftware Hub documentation pour connaître la procédure et les autorisations requises pour télécharger le fichier JAR vers Cloud Pak for Data. Par défaut, le téléchargement des fichiers JDBC de pilotes est désactivé et les utilisateurs ne peuvent pas afficher la liste des JDBC pilotes dans le client Web. Un administrateur doit autoriser les utilisateurs à télécharger ou à consulter JDBC les pilotes dans la IBMSoftware Hub documentation.

Informations de connexion

Important : consultez la documentation du fournisseur du pilote pour connaître les propriétés requises, les propriétés prises en charge et les types de données pris en charge.

Pour créer la connexion JDBC générique, vous devez disposer des informations suivantes concernant la source de données.

Tableau 1. Détails de connexion pour Generic JDBC
Informations Statut Description
Fichiers JAR requis Requis Fichiers JAR requis pour la connexion à la source de données. Si une connexion JDBC requiert plusieurs fichiers JAR, assurez-vous de savoir quels sont les fichiers JAR requis.
Classe de pilote JDBC Requis Nom de la classe de pilote JDBC. Il est spécifié par le fournisseur de pilote JDBC. Pour des détails, voir la documentation du pilote JDBC.
Remarque : lorsque vous utilisez des connexions génériques JDBC dans les flux DataStage, la configuration du pilote peut être gérée via les paramètres du service DataStage. Pour plus d'informations, consultez la documentation DataStage sur la gestion des pilotes.
JDBC URL Requis URL JDBC utilisée pour la connexion à la base de données. Voir la documentation du pilote JDBC pour des informations sur la syntaxe de l'URL.
Détails SSL Pour DataStage les

propriétés conditionnelles, voir Connecteur JDBC générique.
Si le port que vous avez spécifié dans l' JDBCURL est configuré pour accepter les connexions SSL, assurez-vous de sélectionner Le port est configuré pour accepter les connexions SSL.

Si votre source de données utilise des certificats en chaîne, vous pouvez spécifier le contenu de plusieurs certificats.

Si vous collez le certificat auto-signé dans la zone Certificat de l' SSL, le certificat sera importé dans un magasin de certificats temporaire et sécurisé à l'aide d'un mot de passe. Vous devez référencer le magasin de clés de confiance et le mot de passe dans l'URL de connexion JDBC en spécifiant les propriétés de connexion dans la zone Propriétés JDBC.
Par exemple :


ssl=true
sslTrustStoreLocation=${truststore_file} sslTrustStorePassword=${truststore_password}
Taille du lot Optionnel Nombre maximal de lignes à envoyer à la base de données. La valeur par défaut est 2000.
Nombre de lignes à extraire Optionnel Nombre maximal de lignes à extraire de la base de données pour chaque appel. La valeur par défaut est 2000.
Le connecteur utilise la structure de catalogue Optionnel Certaines sources de données utilisent des catalogues au lieu de schémas pour structurer les données. Sélectionnez cette option après avoir consulté la documentation du fournisseur du pilote pour confirmer que la base de données utilise une structure de catalogue.
Sensibilité à la casse Conditionnel Si les ID dans la base de données sont sensibles à la casse, sélectionnez Permet d'indiquer si les valeurs d'ID pour cette base de données sont sensibles à la casse.
Propriétés JDBC Optionnel Propriétés JDBC à utiliser pour la connexion à la base de données. Spécifiez les propriétés dans ce format :

key1=value1;key2=value2;key3=value3

Reportez-vous à la JDBC documentation du pilote pour plus d'informations sur les propriétés prises en charge.
Prise en charge d'un nombre limite de lignes Optionnel Indique si le pilote prend en charge un nombre limite de lignes dans une instruction SELECT. Vous pouvez spécifier Aucun, Préfixe ou Suffixe.
Important : si vous laissez cette option vide ou si vous la définissez sur Aucun, l'interface de base de données sélectionnera toutes les lignes de la table source, même si l'application n'a besoin que d'un petit échantillon. Cela pourrait prendre plus de temps et de mémoire que prévu.
Il est recommandé de spécifier la syntaxe SQL appropriée si le système de base de données source prend en charge une limite de lignes dans les requêtes SQL.
Préfixe de nombre limite de lignes Conditionnel Si vous définissez la prise en charge de la limite de lignes sur Préfixe, spécifiez le préfixe utilisé pour indiquer une limite de lignes dans une instruction SELECT.
Utilisez ${row_limit} pour indiquer où placer la valeur de la limite de lignes. Par exemple :

TOP ${row_limit}
Important : ne remplacez pas manuellement la {row_limit} valeur par un chiffre. Cela fait partie de la commande SQL et la valeur sera insérée par l'application exécutant la commande. Les critères SQL utilisés dans les champs appropriés peuvent varier et dépendent du langage de la base de données.
Suffixe de nombre limite de lignes Conditionnel Si vous définissez la prise en charge de la limite de lignes sur Suffixe, spécifiez le suffixe utilisé pour indiquer une limite de lignes dans une instruction SELECT.
Utilisez ${row_limit} pour indiquer où placer la valeur de limite de lignes. Par exemple :

LIMIT ${row_limit} ROWS
Important : ne remplacez pas manuellement la {row_limit} valeur par un chiffre. Cela fait partie de la commande SQL et la valeur sera insérée par l'application exécutant la commande. Les critères SQL utilisés dans les champs appropriés peuvent varier et dépendent du langage de la base de données.

Pour les informations d'identification et les certificats, vous pouvez utiliser des secrets si un coffre-fort est configuré pour la plateforme et si le service prend en charge les coffres-forts. Pour plus d'informations, consultez la section Utilisation des secrets des coffres-forts dans les connexions.

Conformité aux normes FIPS (Federal Information Processing Standards)

Cette connexion peut être utilisée sur un cluster compatible FIPS (tolérant FIPS); toutefois, elle n'est pas conforme à la norme FIPS. Testez la connexion pour vérifier qu'elle fonctionne.

Exemples JDBC d'URL

Important : suivez les instructions fournies par le fournisseur du pilote pour confirmer les propriétés supplémentaires à inclure.
Databricks
Conducteur :

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=

Pour plus d'informations, consultez la section Établissement de la connexion URL pour le pilote Spark hérité.


Db2
Conducteur :

com.ibm.db2.jcc.DB2Driver jdbc:db2://<Hostname>:<Port>/<DatabaseName>

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

Le Microsoft SQL Server pilote fonctionne pour l'authentification Windows. Téléchargez le dernier pilote JDBC Microsoft pour SQL Server.

Propriétés requises pour le Microsoft SQL Server pilote :

  • server_address
  • authenticationScheme=NTLM
  • integratedSecurity=true

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


MongoDB
Pilote : com.ddtek.jdbc.mongodb.MongoDBDriver et port : SSL - Option « Enabled » sélectionnée.

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

MySQL
Conducteur :

com.mysql.cj.jdbc.Driver jdbc:mysql://<MySQLHost>:<MySQLPort>/<DatabaseName>?useSSL=false

Oracle
Pilote : oracle.jdbc.OracleDriver

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

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

Pour une connexion SSL à une base de données Oracle, vous devez fournir un certificat dans les propriétés de connexion et inclure ce code pour que l' URL transmette le certificat au pilote :

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

Exemples de formats pour une connexion SSL à une base de données Oracle :

Avec 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}

Avec 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}

En savoir plus