L’outil jdbcinfo permet de tester si votre gestionnaire JDBC fonctionne correctement en dehors de Cognos Analytics. Vous installez un nouveau gestionnaire JDBC et vous souhaitez le tester avant de redémarrer Cognos Analytics par exemple.
Les exemples ci-dessous ont été exécutés à partir d’un environnement Cognos Analytics v12.1.1. On notera que depuis v12.1.0, c’est une version IBM Semeru version 17 que l’on retrouve dans Cognos Analytics.
Retrouver la liste des gestionnaires JDBC supportés avec IBM Cognos Analytics v12.1.x :
On va lancer java.exe depuis le dossier C:\Program Files\ibm\cognos\analytics\ibm-jre\jre\bin.
Pour vérifier que votre environnement java fonctionne depuis le dossier
C:\Program Files\ibm\cognos\analytics\ibm-jre\jre\bin, exécuter la commande :
java -version
Le résultat suivant apparaît :
java version "17.0.16" 2025-07-15
IBM Semeru Runtime Certified Edition 17.0.16.0 (build 17.0.16+8)
Eclipse OpenJ9 VM 17.0.16.0 (build openj9-0.53.0, JRE 17 Windows 11 amd64-64-Bit Compressed References 20250715_1011 (JIT enabled, AOT enabled)
OpenJ9 - 017819f167
OMR - 266a8c6f5
JCL - 39979e050c6 based on jdk-17.0.16+8)
On va définir une variable COGNOS_HOME à C:\Program Files\ibm\cognos\analytics avec la commande :
set COGNOS_HOME="C:\Program Files\ibm\cognos\analytics"
De la même façon, on va définir les variables d’environnement USERID et PASSWORD. Il s’agit du nom de l’utilisateur et de son mot de passe.
La ligne de commande doit ressembler à :
java -cp '*;.\jdbcinfo.jar' com.ibm.cognos.jdbcinfo.App [args] [action [parameters]]
avec les valeurs suivants pour [args] :
-u user ID-p password-d driver class-U JDBC connection url
On va lancer java avec -cp (ou -classpath, c’est la même chose) pour indiquer ce que l’on veut charger :
- Le gestionnaire JDBC pour Microsoft SQL Server :
%COGNOS_HOME%\drivers\mssql-jdbc-12.10.1.jre11.jar; - Le .jar de jdbcinfo (programme Java) :
%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\jdbcinfo.jar; - Un .jar supplémentaire pour quelques actions particulières :
%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\JDBCAdaptorSDK.jar
On ajoute le programme à proprement parler : com.ibm.cognos.jdbcinfo.App
L’argument driver class (-d) contient la valeur com.microsoft.sqlserver.jdbc.SQLServerDriver.
Si l’on ajoute l’action ServerVersion, on obtient la ligne de commande suivante :
java -cp %COGNOS_HOME%\drivers\mssql-jdbc-12.10.1.jre11.jar;%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\jdbcinfo.jar;%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\JDBCAdaptorSDK.jar com.ibm.cognos.jdbcinfo.App -U "jdbc:sqlserver://LOCALHOST:51919;DATABASE=DW_FRA;trustServerCertificate=true;" -d com.microsoft.sqlserver.jdbc.SQLServerDriver -u %USERID% -p %PASSWORD% ServerVersion
La commande retourne la version du serveur de base de données :
database product name: Microsoft SQL Server
database major version: 16
database minor version: 0
database product version: 16.00.1160
La commande DriverVersion retourne la version du driver de base de données :
java -cp %COGNOS_HOME%\drivers\mssql-jdbc-12.10.1.jre11.jar;%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\jdbcinfo.jar;%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\JDBCAdaptorSDK.jar com.ibm.cognos.jdbcinfo.App -U "jdbc:sqlserver://LOCALHOST:51919;DATABASE=DW_FRA;trustServerCertificate=true;" -d com.microsoft.sqlserver.jdbc.SQLServerDriver -u %USERID% -p %PASSWORD% DriverVersion
On obtient le résultat suivant concernant le driver SQL Server :
driver major version: 12
driver minor version: 10
driver is JDBC compliant: true
driver version: 12.10.1.0
JDBC major version: 4
JDBC minor version: 3
La commande suivante exécute le code SQL :
java -cp %COGNOS_HOME%\drivers\mssql-jdbc-12.10.1.jre11.jar;%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\jdbcinfo.jar;%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\JDBCAdaptorSDK.jar com.ibm.cognos.jdbcinfo.App -U "jdbc:sqlserver://LOCALHOST:51919;DATABASE=DW_FRA;trustServerCertificate=true;" -d com.microsoft.sqlserver.jdbc.SQLServerDriver -u %USERID% -p %PASSWORD% Sql 1 "SELECT TOP (5) [City],[Revenue] FROM [RevenueByCity]"
La commande SaveOptions c:\temp\jdbcinfo.txt permet d’enregistrer les options de connexion dans un fichier jdbcinfo.txt. Attention, ce fichier contient des informations directement lisibles telles que :
- user (-u)
- password (-p)
- driverClass (-d)
- URL (-U)
On obtient donc la commande suivante :
java -cp %COGNOS_HOME%\drivers\mssql-jdbc-12.10.1.jre11.jar;%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\jdbcinfo.jar;%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\JDBCAdaptorSDK.jar com.ibm.cognos.jdbcinfo.App -U "jdbc:sqlserver://LOCALHOST:51919;DATABASE=DW_FRA;trustServerCertificate=true;" -d com.microsoft.sqlserver.jdbc.SQLServerDriver -u %USERID% -p %PASSWORD% SaveOptions c:\temp\jdbcinfo.txt
Remarque : Conserver le fichier jdbcinfo.txt dans un endroit sécurisé car il contient des données non chiffrées.
Cette commande possède un équivalent chargement des options précédemment enregistrées qui est LoadOptions :
java -cp %COGNOS_HOME%\drivers\mssql-jdbc-12.10.1.jre11.jar;%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\jdbcinfo.jar;%COGNOS_HOME%\webapps\p2pd\WEB-INF\lib\JDBCAdaptorSDK.jar com.ibm.cognos.jdbcinfo.App LoadOptions c:\temp\jdbcinfo.txt
Voici la liste de toutes les autres actions possibles :
| Attributes | Exécute DatabaseMetadata.getAttributes sur une connexion indiquée |
| Catalogs | Exécute DatabaseMetadata.getCatalogs sur une connexion indiquée |
| ConnectionCatalog | Pas d’informations supplémentaires |
| ConnectionProperties | Exécute DatabaseMetadata.getPropertyInfo sur une connexion indiquée |
| ConnectionSchema | Pas d’informations supplémentaires |
| DatabaseMetadataInterface | Teste l’objet obtenu par Connection.getMetaData pour verifier la conformité avec la spécification JDBC de l’interface DatabaseMetadata. |
| DriverVersion | Retourne la version du driver JDBC utilisé |
| ExportedKeys | Exécute DatabaseMetadata.getExportedKeys sur une connexion indiquée |
| ExtraInformation | Affiche des informations supplémentaires (JDBCAdaptorSDK est nécessaire) |
| FactoryNames | Affiche le nom d’usine de l’adaptateur JDBC. (JDBCAdaptorSDK est nécessaire) |
| FunctionColumns | Exécute DatabaseMetadata.getFunctionColumns sur une connexion indiquée |
| Functions | Exécute DatabaseMetadata.getFunctions sur une connexion indiquée |
| GenerateCertificate | Pas d’informations supplémentaires |
| ImportedKeys | Exécute DatabaseMetadata.getImportedKeys sur une connexion indiquée |
| IndexInfo | Exécute DatabaseMetadata.getIndexInfo sur une connexion indiquée |
| KerberosConnection | Permet d’établir une connexion sécurisée Kerberos |
| LoadOptions | Permet de charger un fichier <file name> |
| PrimaryKeys | Pas d’informations supplémentaires |
| ProcedureColumns | Exécute DatabaseMetadata.getProcedureColumns sur une connexion indiquée |
| Procedures | Exécute DatabaseMetadata.getProcedures sur une connexion indiquée |
| SaveOptions | Permet d’enregistrer un fichier <file name> |
| Schemas | Exécute la version JDBC v3 de DatabaseMetadata.getSchemas sur une connexion indiquée |
| SchemasV4 | Exécute la version JDBC v4 de DatabaseMetadata.getSchemas sur une connexion indiquée |
| SecureGateway | Pas d’informations supplémentaires |
| ServerVersion | Retourne la version du logiciel de base de données |
| Sql | permet d’exécuter une commande SQL |
| SubType | Retourne le sous-type (s’il y en a un) qu’IBM Cognos assigne à la connexion indiquée |
| Synonyms | Pas d’informations supplémentaires |
| TableTypes | Exécute DatabaseMetadata.getTableType sur une connexion indiquée |
| Tables | Exécute DatabaseMetadata.getTable sur une connexion indiquée |
| TypeInfo | Exécute DatabaseMetadata.getTypeInfo sur une connexion indiquée |
| UDT | Exécute DatabaseMetadata.getUDT sur une connexion indiquée |
| Verbose | Permet de retourner un plus grand nombre de message, notamment les informations de connexion en clair |
Consultez la documentation pour une explication plus complète à l’adresse :
https://www.ibm.com/docs/en/cognos-analytics/12.1.x?topic=problems-using-jdbcinfo-tool
