Inleiding
Dit document beschrijft hoe de DBLookup-functie in de Intelligent Contact Manager (ICM) moet worden geconfigureerd om gegevens uit een externe database te halen en in het script te gebruiken. Om te illustreren hoe u de functie kunt configureren, gebruikt dit document een voorbeeldscenario waarin de gebruiker probeert te identificeren of de beller deel uitmaakt van een lijst (bijvoorbeeld om prioriteitsservice te kunnen verlenen).
Voorwaarden
Vereisten
Er zijn geen specifieke vereisten van toepassing op dit document.
Gebruikte componenten
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.
Configureren
- Maak de database.
Maak eerst de database aan. In Microsoft SQL Server Management Studio, klik met de rechtermuisknop op Databases en kies Nieuwe Database:
Maak vervolgens een tabel in deze database. Klik met de rechtermuisknop op Tabellen onder de nieuwe database. Vervolgens kunt u enkele kolommen toevoegen:
Opmerking: Definieer alle integervelden in tabellen die benaderd worden door een DBLookup-knooppunt als NIET NULL. Alleen deze gegevenstypen worden ondersteund voor SQL-databases: SQLINT1 (tinyint), SQLINT2 (smallint), SQLINT4 (int), SQLCHAR (char), SQLVARCHAR (varchar), SQLFLT4DBFLT4 (real), SQLFLT8DBFLT8 (float), en SQLDATETIME (datetime). U moet alle velden behalve SQLDATETIME, SQLVARCHAR en SQLCHAR definiëren als NIET-LEGE velden. U kunt deze drie velden als NULL definiëren.
Kies het varchar gegevenstype omdat het de flexibiliteit toestaat om ook tekens in het nummer te hebben. Om de kolom Phone in te stellen als de primaire toets, vinkt u de optie Nulls toestaan in het aankruisvakje uit. Om deze kolom als primaire sleutel in te stellen, klikt u met de rechtermuisknop en kiest u Primaire sleutel instellen:
Nadat deze stappen zijn voltooid, slaat u de wijzigingen op. U kunt nu gegevens aan uw tabel toevoegen:
- Configureer de ICM om verbinding te maken met deze database.
Gebruik Configuration Manager onder Verkenner-tools om Database Lookup Explorer te openen. Voeg vervolgens de nieuwe database en kolom toe:
U moet ook de gebruikersnaam/het wachtwoord configureren om in te loggen op de database, omdat het systeem standaard een leeg wachtwoord gebruikt. Configureer de gebruikersnaam/het wachtwoord in het register met deze sleutel:
HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems,
Inc.\ICM\inst1\RouterA\Router\CurrentVersion\Configuration\Database\SQLLogin
Dit voorbeeld laat zien hoe u de sleutel met de domeingebruiker kunt configureren:
\\POD2SPRAWLA\DBLookup=(ZFB\Administrator,password)
Opmerking: Gebruik de volgende speciale tekens niet in het wachtwoord: "=", ")", "(", ",", "?", "\", "/"
-
Zorg ervoor dat u Database Routing inschakelen kiest op het scherm van de router bewerken, dat toegankelijk is in de routerinstelling op de webinterface:
- Gebruik deze database in het script.
Voeg de DBLookup-knooppunt toe en specificeer in welke tabel u wilt zoeken. Dit voorbeeld toont een onderzoek van de Prioriteitstabel met CallingLineID. Omdat nchar als datatype is gekozen, moet u het nummer converteren naar een string voordat u de lookup invoert:
De raadpleging vindt plaats op de kolom die is ingesteld als primaire sleutel. Later, kunt u gegevens van de zelfde rij gebruiken om vraagvariabelen te bevolken. Dit voorbeeld toont de toevoeging van een andere kolom, Stad, zowel in het gegevensbestand als in de configuratiemanager, die in het manuscript kan worden bevolkt:
Verifiëren
Gebruik dit gedeelte om te bevestigen dat DB Worker in staat is om verbinding te maken met de externe database. Maak een txt bestand dbw.txt dat de logbestanden bevat sinds de laatste herstart van het DB Worker-proces:
C:\Users\Administrator.ZFB>cdlog
ra
C:\icm\inst1\ra\logfiles>dumplog dbw /o /ms /last
Controleer of DB Worker verbinding kan maken met de database met 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
De logboeken van DB Worker tonen deze reactie wanneer er geen ingang is die in de primaire belangrijkste kolom (die door DBLookup knoop in het manuscript wordt teweeggebracht) aanpast:
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
Wanneer er een overeenkomst is, is dit de reactie:
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.
Problemen oplossen
Er is momenteel geen specifieke troubleshooting-informatie beschikbaar voor deze configuratie.