Introducción
Este documento describe cómo configurar la función de DBLookup en el Intelligent Contact Manager (ICM) para traer los datos de una base de datos externa y utilizarlos en el script. Para ilustrar cómo configurar la función, este documento utiliza un ejemplo de escenario donde el usuario intenta identificar si el llamador es parte de a la lista (por ejemplo, para proporcionar el servicio de prioridad).
Prerrequisitos
Requisitos
No hay requisitos específicos para este documento.
Componentes Utilizados
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener cualquier comando.
Configurar
- Cree la base de datos.
Primero, cree la base de datos. En el SQL Server Management Studio de Miscrosoft, haga clic con el botón derecho del ratón las bases de datos y elija la nueva base de datos: 
Después, cree una tabla en esta base de datos. Haga clic con el botón derecho del ratón las tablas conforme a la base de datos creada recientemente. Entonces, usted puede agregar algunas columnas:

Note: Defina todos los campos numéricos enteros en las tablas accedidas por un nodo de DBLookup como NO NULO. Solamente soportan a estos tipos de datos para las bases de datos SQL: SQLINT1 (tinyint), SQLINT2 (smallint), SQLINT4 (internacional), SQLCHAR (char), SQLVARCHAR (varchar), SQLFLT4DBFLT4 (real), SQLFLT8DBFLT8 (flotador), y SQLDATETIME (fecha y hora). Usted debe definir todos los campos excepto SQLDATETIME, SQLVARCHAR, y SQLCHAR como campos NO NULOS. Usted puede definir estos tres campos como FALTA DE INFORMACIÓN.
Elija el tipo de datos del varchar porque permite la flexibilidad también para tener caracteres en el número. Para fijar la columna del teléfono como la Clave primaria, desmarque permiten anula en la casilla de verificación. Para fijar esta columna como la Clave primaria, haga clic con el botón derecho del ratón y elija la Clave primaria determinada:

Una vez que estos pasos son completos, salve los cambios. Ahora, usted puede agregar los datos a su tabla:

- Configuración ICM para conectar con esta base de datos.
Utilice al administrador de configuración bajo las herramientas del explorador para abrir al explorador de la búsqueda de base de datos. Entonces, agregue la base de datos y la columna creadas recientemente: 
Usted también necesita configurar el nombre de usuario/la contraseña para iniciar sesión a la base de datos porque el sistema utiliza el sa con una contraseña vacía por abandono. Configure el nombre de usuario/la contraseña en el registro con esta clave:
HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems,
Inc.\ICM\inst1\RouterA\Router\CurrentVersion\Configuration\Database\SQLLogin
Este ejemplo muestra cómo usted puede configurar la clave con el Domain User:
\\POD2SPRAWLA\DBLookup=(ZFB\Administrator,password)
Note: No utilice los caracteres especiales siguientes en la contraseña: ¿“=”, ")”, “(”, “,”, “? ”, “\”, “/”
-
Asegúrese de que usted elija la encaminamiento de la base de datos del permiso en la pantalla del router del editar, que se puede acceder en el router puesto en la interfaz Web:

- Utilice esta base de datos en el script.
Agregue el nodo de DBLookup y especifiqúelo en qué tabla usted quiere buscar. Este ejemplo muestra una búsqueda de la tabla de la prioridad con el CallingLineID. Porque es nchar fue elegido como el datatype, usted debe convertir el número a una cadena antes de que usted ingrese las operaciones de búsqueda: 
Las operaciones de búsqueda ocurren en la columna que se fija como Clave primaria. Más adelante, usted puede utilizar los datos de la misma fila para poblar las variables de llamada. Este ejemplo muestra la adición de otra columna, ciudad, en la base de datos y en el administrador de configuración, que puede ser poblado en el script:

Verificación
Utilice esta sección para confirmar que el trabajador DB puede conectar con la base de datos externa. Cree un archivo txt dbw.txt que contenga los registros puesto que el reinicio más reciente del proceso de trabajo DB:
C:\Users\Administrator.ZFB>cdlog <instance_name> ra
C:\icm\inst1\ra\logfiles>dumplog dbw /o /ms /last
Verifique que el trabajador DB pueda conectar con la base de datos con 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
Los registros del trabajador DB visualizan esta respuesta cuando no hay entrada que hace juego en la columna de la Clave primaria (accionada por el nodo de DBLookup en el 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
Cuando hay una coincidencia, ésta es la respuesta:
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.
Troubleshooting
Actualmente, no hay información específica de troubleshooting disponible para esta configuración.