Introduction
Ce document décrit comment dépanner Cisco Unified Intelligence Center (CUIC) lorsque n'est pas en mesure de se connecter à Contact Center Enterprise (CCE) Administration and Database Server (ADS).
Informations générales
CUIC se connecte à awdb sur le serveur ADS. Lorsque la connexion échoue avec une erreur spécifique et que vous avez collecté les journaux CUIC, vous voyez cette erreur.
0000177816: 10.10.10.10: Jul 14 2018 00:18:21.816 -0700: %CCBU___________CUIC-6-INFO: Checking if it's ok to switch the DS nodes based on exception thrown: Invalid sub-protocol Invalid sub-protocol: 'sqlserver'
java.sql.SQLException: Invalid sub-protocol Invalid sub-protocol: 'sqlserver'
at com.informix.util.IfxErrMsg.getLocSQLException(IfxErrMsg.java:493)
at com.informix.jdbc.IfxDriver.checkURL(IfxDriver.java:560)
at com.informix.jdbc.IfxDriver.connect(IfxDriver.java:208)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
Il s'agit d'une erreur générique qui indique que l'accès à la source de données SQL Server a échoué. Une raison courante de cette erreur est liée à une défaillance du processus de connexion TLS (Transport Layer Security) entre CUIC et le serveur ADS.
Problème
Lorsque CUIC ne parvient pas à se connecter à la base de données et qu'aucune information n'est donc présentée lors de la génération d'un rapport, sous CUIC page principale > Sources de données, vous voyez la source de données hors connexion (X rouge) comme illustré dans l'image.
Lorsque la source de données est modifiée, si le bouton Tester la connexion est sélectionné, cette erreur s'affiche, comme illustré dans l'image.
Voici l'erreur spécifique signalée : "Pour l'hôte de base de données UCCE.cc.lab Sous-protocole non valide Sous-protocole non valide : 'sql server' " comme indiqué dans l'image.
Dépannage
Étape 1. Collecter les journaux d’application CUIC
Étape 2. Dans les journaux de l'application CUIC, vous trouvez l'exception liée à ce problème.
0000177816: 10.10.10.10: Jul 14 2018 00:18:21.816 -0700: %CCBU___________CUIC-6-INFO: Checking if it's ok to switch the DS nodes based on exception thrown: Invalid sub-protocol Invalid sub-protocol: 'sqlserver'
java.sql.SQLException: Invalid sub-protocol Invalid sub-protocol: 'sqlserver'
at com.informix.util.IfxErrMsg.getLocSQLException(IfxErrMsg.java:493)
at com.informix.jdbc.IfxDriver.checkURL(IfxDriver.java:560)
at com.informix.jdbc.IfxDriver.connect(IfxDriver.java:208)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
Note: UCCE 11.6 prend en charge TLS (Transport Layer Security) 1.2 pour la connexion à ADS. Cette erreur est liée à une non-correspondance de version TLS car CUIC 11.5 prend uniquement en charge TLS 1.0/1.1. Référez-vous à la matrice de compatibilité pour plus d'informations.
Résumé
L'erreur dans ce scénario est due au fait que CUIC 11.5 utilise TLS 1.0, alors que la version utilisée par Microsoft SQL Server est TLS 1.2.
Il y a un défaut d'amélioration lié à ce problème de compatibilité TLS, où ce comportement est décrit plus en détail : CSCvd35048 .
Solution
L'erreur dans les journaux indique uniquement que la connexion à la source de données a échoué pour un certain nombre de raisons. Si le problème est lié à un échec de négociation TLS, deux options peuvent être implémentées pour résoudre ce problème.
Option 1. CUIC 11.6 prend en charge TLS 1.2 par défaut. Mettez à niveau le serveur CUIC vers la version 11.6 et installez de manière proactive le dernier fichier COP.Cette option est recommandée.
Option 2. Une solution de contournement temporaire peut également être utilisée. Vous pouvez modifier certaines clés de Registre sur le ADS afin de travailler avec TLS 1.0. Ce sont les clés de Registre qui doivent être modifiées.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "Enabled"=dword:00000001(Defaults to 0 and disables by default)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] "Enabled"=dword:00000001(Defaults to 0 and disables by default)
Attention : L'option 2 n'est pas recommandée. Utilisez-le uniquement si vous ne pouvez pas mettre à niveau CUIC vers la version 11.6.