Inleiding
Dit document beschrijft hoe de DBLookup-functie in de Intelligent Contact Manager (ICM) moet worden ingesteld om gegevens van een externe database te halen en in het script te gebruiken. Om te illustreren hoe de functie te configureren gebruikt dit document een voorbeeldscenario waarin de gebruiker probeert te identificeren of de beller deel uitmaakt van een lijst (bijvoorbeeld om prioriteitsservice te bieden).
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. In Miscrosoft SQL Server Management Studio klikt u met de rechtermuisknop op databases en kiest u Nieuwe database:
Maak vervolgens een tabel in deze database. Klik met de rechtermuisknop op Tabellen onder de nieuw aangelegde database. U kunt vervolgens een paar kolommen toevoegen:
Opmerking: Defineert alle integervelden in tabellen die door een DBLookup-knooppunt worden benaderd als NIET NULL. Alleen deze gegevenstypen worden ondersteund voor SQL-databases: SQL-versie (hiermee), (selint), (selint), (selfint), (int), (nl), (nl.), (nl.), (d.), (d.), (d.), (d.), (d.), (d.), (d. w. z.), (d.). U moet alle velden behalve SQL-LDATIME, SQL-VARCHAR en SUBCHAR als NIET-VOLLEDIGE velden definiëren. U kunt deze drie velden als NULL definiëren.
Kies het varchar datatype omdat het de flexibiliteit toestaat om tekens in het aantal ook te hebben. Om de kolom Phone als de hoofdtoets in te stellen, moet u de optie Nulls in het aankruisvakje toestaan. Als u deze kolom als de primaire toets wilt instellen, klikt u met de rechtermuisknop op de primaire toets en kiest u Primaire toets:
Nadat deze stappen zijn voltooid, slaat u de wijzigingen op. U kunt nu gegevens aan de tabel toevoegen:
- Configureer ICM om verbinding te maken met deze database.
Gebruik het programma Configuration Manager onder Explorer om Databaseverkenner te openen. Voeg vervolgens de nieuw aangelegde 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 toont 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 kiest Database routing inschakelen in het scherm Router bewerken, dat in de routerinstellingen op de webinterface toegankelijk is:
- Gebruik deze database in het script.
Voeg het DBLookup-knooppunt toe en specificeer in welke tabel u wilt zoeken. Dit voorbeeld toont een onderzoek van de Prioriteitstabel met CallingLineID. Omdat nchar als het datatype is geselecteerd, moet u het aantal naar een string converteren voordat u de lookup ingaat:
De raadpleging vindt plaats op de kolom die als primaire sleutel is ingesteld. Later kunt u gegevens uit dezelfde rij gebruiken om aanroepvariabelen te bevolken. Dit voorbeeld toont de toevoeging van een andere kolom, Stad, zowel in het gegevensbestand als in de configuratiemanager, die in het script kan worden ingevuld:
Verifiëren
Gebruik deze sectie om te bevestigen dat DB Worker in staat is om verbinding te maken met de externe database. Maak een tekstbestand dbw.txt dat de logbestanden bevat sinds de laatste herstart van het DB-werkproces:
C:\Users\Administrator.ZFB>cdlog
ra
C:\icm\inst1\ra\logfiles>dumplog dbw /o /ms /last
Controleer dat DB Worker in staat is om verbinding te 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 DB Worker-logboeken tonen deze respons wanneer er geen noemer is die overeenkomt in de primaire sleutelkolom (geactiveerd door het DBLookup-knooppunt in het 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
Als er een tweekamp 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.