Índice

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Configurar

Verificar

Troubleshooting

Introdução

Este original descreve como configurar a função de DBLookup no gerente de contato inteligente (ICM) a fim buscar dados de um base de dados externo e usá-los no script. A fim ilustrar como configurar a função, este original usa um exemplo de cenário onde o usuário tente identificar se o chamador é parte de uma lista (por exemplo, a fim proporcionar o serviço de prioridade).

Pré-requisitos

Requisitos

Não existem requisitos específicos para este documento.

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.

Configurar

1. Crie o base de dados.

Primeiramente, crie o base de dados. No estúdio do Gerenciamento do servidor SQL de Miscrosoft, clicar com o botão direito bases de dados e escolha o base de dados novo:

Em seguida, crie uma tabela neste base de dados. Clicar com o botão direito tabelas sob o base de dados recém-criado. Então, você pode adicionar algumas colunas:

Note: Defina todos os campos de inteiro nas tabelas alcançadas por um nó de DBLookup como NAO NULO. Somente estes tipos de dados são apoiados para bases de dados SQL: SQLINT1 (tinyint), SQLINT2 (smallint), SQLINT4 (int), SQLCHAR (carvão animal), SQLVARCHAR (varchar), SQLFLT4DBFLT4 (real), SQLFLT8DBFLT8 (flutuador), e SQLDATETIME (datetime). Você deve definir todos os campos exceto SQLDATETIME, SQLVARCHAR, e SQLCHAR como campos NAO NULOS. Você pode definir estes três campos como o ZERO.

Escolha o tipo de dados do varchar porque permite a flexibilidade igualmente ter caráteres no número. A fim ajustar a coluna do telefone como o chave principal, desmarcar reservam anula na caixa de verificação. A fim ajustar esta coluna como o chave principal, clicar com o botão direito e escolher chave principal ajustado:

Uma vez que estas etapas estão completas, salvar as mudanças. Agora, você pode adicionar dados a sua tabela:

2. Configurar ICM a fim conectar a este base de dados.

Use o gerenciador de configuração sob ferramentas do explorador a fim abrir o explorador da consulta de base de dados. Então, adicionar o base de dados e a coluna recém-criados:

Você igualmente precisa de configurar o username/senha a fim entrar ao base de dados porque o sistema usa o sa com uma senha vazia à revelia. Configurar o username/senha no registro com esta chave:

HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems,

Inc.\ICM\inst1\RouterA\Router\CurrentVersion\Configuration\Database\SQLLogin

Este exemplo mostra como você pode configurar a chave com o usuário de domínio:

\\POD2SPRAWLA\DBLookup=(ZFB\Administrator,password)

Note: Não use os seguintes caracteres especiais na senha: “=”, ")”, “(”, “,”, “? ”, “\”, “/”

3. Assegure-se de que você escolha permita o roteamento do base de dados na tela do roteador da edição, que pode ser alcançada no roteador setup na interface da WEB:

4. Use este base de dados no script.

Adicionar o nó de DBLookup e especifique-o em que tabela você quer procurar. Este exemplo mostra uma busca da tabela da prioridade com o CallingLineID. Porque nchar foi escolhido como o datatype, você deve converter o número a uma corda antes que você incorpore a consulta:

A consulta ocorre na coluna que é ajustada como o chave principal. Mais tarde, você pode usar dados da mesma fileira para povoar variáveis de chamada. Este exemplo mostra a adição de uma outra coluna, cidade, no base de dados e no gerenciador de configuração, que pode ser povoado no script:

Verificar

Use esta seção para confirmar que o trabalhador DB pode conectar ao base de dados externo. Crie um arquivo txt dbw.txt que contenha os logs desde que o último reinício do processo do trabalhador DB:

C:\Users\Administrator.ZFB>cdlog <instance_name> ra

C:\icm\inst1\ra\logfiles>dumplog dbw /o /ms /last

Verifique que o trabalhador DB pode conectar ao base de dados com 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

Os logs do trabalhador DB indicam esta resposta quando não há nenhuma entrada que combina na coluna do chave principal (provocada pelo nó de DBLookup no 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

Quando há um fósforo, esta é a resposta:

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

Atualmente, não existem informações disponíveis específicas sobre Troubleshooting para esta configuração.