Introduction
Ce document décrit comment configurer la fonction de DBLookup dans le gestionnaire de contacts intelligent (missile aux performances améliorées) afin de chercher des données d'une base de données externe et les utiliser dans le script. Afin d'illustrer comment configurer la fonction, ce document utilise un exemple de scénario où les essais d'utilisateur les identifier si l'appelant fait partie d'une liste (par exemple, afin de fournir le service prioritaire).
Conditions préalables
Exigences
Aucune spécification déterminée n'est requise pour ce document.
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.
Configurer
- Créez la base de données.
D'abord, créez la base de données. Dans le studio de Gestion de Serveur SQL de Miscrosoft, cliquez avec le bouton droit les bases de données et choisissez la nouvelle base de données : Ensuite, créez une table dans cette base de données. Tableaux de clic droit sous la base de données de création récente. Puis, vous pouvez ajouter quelques colonnes :
Note: Définissez toutes les zones entières dans les tables accédées à par un noeud de DBLookup comme NON NUL. Seulement ces types de données sont pris en charge pour des bases de données SQL : SQLINT1 (tinyint), SQLINT2 (smallint), SQLINT4 (international), SQLCHAR (car), SQLVARCHAR (varchar), SQLFLT4DBFLT4 (vrai), SQLFLT8DBFLT8 (flotteur), et SQLDATETIME (date-heure). Vous devez définir tous les champs excepté SQLDATETIME, SQLVARCHAR, et SQLCHAR en tant que champs NON NULS. Vous pouvez définir ces trois champs en tant que NULL.
Choisissez le type de données varchar parce qu'il permet la flexibilité d'avoir également des caractères dans le nombre. Afin de placer la colonne de téléphone comme clé primaire, décochez permettent des nulls dans la case. Afin de placer cette colonne comme clé primaire, clic droit et choisir la clé primaire réglée :
Une fois que ces étapes sont complètes, sauvegardez les modifications. Maintenant, vous pouvez ajouter des données à votre table :
- Configurez le missile aux performances améliorées afin de se connecter à cette base de données.
Utilisez la Configuration Manager sous des outils d'explorateur afin d'ouvrir l'explorateur de consultation de base de données. Puis, ajoutez la base de données et la colonne de création récente : Vous devez également configurer le nom d'utilisateur/mot de passe afin d'ouvrir une session à la base de données parce que le système utilise SA avec un mot de passe vide par défaut. Configurez le nom d'utilisateur/mot de passe dans le registre avec cette clé :
HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems,
Inc.\ICM\inst1\RouterA\Router\CurrentVersion\Configuration\Database\SQLLogin
Cet exemple affiche comment vous pouvez configurer la clé avec l'utilisateur de domaine :
\\POD2SPRAWLA\DBLookup=(ZFB\Administrator,password)
Note: N'utilisez pas les caractères particuliers suivants dans le mot de passe : « = », ") », « (", « , », « ? », « \ », « / »
-
Assurez-vous que vous choisissez Enable le routage de base de données sur l'écran de routeur d'éditer, qui peut être accédé à en configuration du routeur sur l'interface web :
- Utilisez cette base de données dans le script.
Ajoutez le noeud de DBLookup et le spécifiez dans quelle table vous voulez rechercher. Cet exemple affiche une recherche de la table prioritaire avec le CallingLineID. Puisque nchar a été choisi comme datatype, vous devez convertir le nombre en chaîne avant que vous écriviez la consultation : La consultation se produit sur la colonne qui est placée en tant que clé primaire. Plus tard, vous pouvez employer des données de la même ligne pour remplir variables d'appel. Cet exemple affiche l'ajout d'une autre colonne, ville, dans la base de données et dans le gestionnaire de configuration, qui peut être rempli dans le script :
Vérifiez
Employez cette section pour confirmer que l'employé de DB peut se connecter à la base de données externe. Créez un fichier dbw.txt de txt qui contient les logs puisque la dernière reprise du processus d'employé de DB :
C:\Users\Administrator.ZFB>cdlog <instance_name> ra
C:\icm\inst1\ra\logfiles>dumplog dbw /o /ms /last
Vérifiez que l'employé de DB peut se connecter à la base de données à dbw.txt :
12:39:08:413 ra-dbw Trace: Attempting integrated security open of
POD2SPRAWLA using ZFB\Administrator
12:39:08:451 ra-dbw Trace: Sucessfully impersonated ZFB\Administrator
12:39:08:476 ra-dbw Trace: 'id' is column 2 in sysobjects.
12:39:08:477 ra-dbw Trace: ID for table Priority is 5575058
12:39:08:484 ra-dbw Trace: Columns for Priority:
12:39:08:484 ra-dbw Trace: Column 1: Phone, type=47, length=30
12:39:08:536 ra-dbw Trace: Primary key for Priority is Phone, column 1.
12:39:08:557 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 0
12:39:08:557 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 1
12:39:08:558 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 2
12:39:08:558 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 3
12:39:08:558 ra-dbw Trace: Created connection to POD2SPRAWLA,DBLookup for thread 4
12:39:08:558 ra-dbw Trace: ScriptTable Piority is now available.
12:39:08:559 ra-dbw Trace: ScriptTable Piority (ID 5000) connected to
POD2SPRAWLA,DBLookup,Priority
12:39:08:559 ra-dbw Trace: Internal connect for POD2SPRAWLA,DBLookup,Priority
12:39:08:559 ra-dbw Trace: 'id' is column 2 in sysobjects.
12:39:08:560 ra-dbw Trace: ID for table Priority is 5575058
12:39:08:560 ra-dbw Trace: Columns for Priority:
12:39:08:560 ra-dbw Trace: Column 1: Phone, type=47, length=30
12:39:08:561 ra-dbw Trace: Primary key for Priority is Phone, column 1.
12:39:08:561 ra-dbw Trace: Column Phone (ID 5002) is table column 1, type 47.
12:39:08:561 ra-dbw Trace: ScriptTable Piority (ID 5000) connected to
POD2SPRAWLA,DBLookup,Priority
Les logs d'employé de DB affichent cette réponse quand il n'y a aucune entrée qui apparie dans la colonne de clé primaire (déclenchée par le noeud de DBLookup dans le script) :
13:24:05:294 ra-dbw Trace: Queue a lookup request
13:24:05:295 ra-dbw Trace: DBWorker Thread 0 (ID 350760 Table:Priority):
Received request: transactionID 1
13:24:05:295 ra-dbw Trace: DBWorker Thread 0 (ID 350760),transactionID 1,
Attempt to read the record:
13:24:05:295 ra-dbw Trace: DBWorker transactionID 1, Failed! result=1
Quand il y a une correspondance, c'est la réponse :
13:25:25:810 ra-dbw Trace: Queue a lookup request
13:25:25:810 ra-dbw Trace: DBWorker Thread 1 (ID 354428 Table:Piority):
Received request: transactionID 2
13:25:25:810 ra-dbw Trace: DBWorker Thread 1 (ID 354428),transactionID 2,
Attempt to read the record:
13:25:25:811 ra-dbw Trace: DBWorker Thread 1 (ID 354428),transactionID 2,
Succeeded.
Dépanner
Il n'existe actuellement aucune information de dépannage spécifique pour cette configuration.