소개
이 문서에서는 ICM(Intelligent Contact Manager)에서 DBLookup 함수를 구성하여 외부 데이터베이스에서 데이터를 가져오고 스크립트에서 사용하는 방법에 대해 설명합니다. 이 문서에서는 기능을 구성하는 방법을 설명하기 위해 사용자가 발신자가 목록에 포함되어 있는지(예: 우선 순위 서비스를 제공하기 위해) 확인하려고 하는 예제 시나리오를 사용합니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
구성
- 데이터베이스를 만듭니다.
먼저 데이터베이스를 생성합니다. Microsoft SQL Server Management Studio에서 데이터베이스를 마우스 오른쪽 단추로 누르고 새 데이터베이스를 선택합니다.
그런 다음 이 데이터베이스에 테이블을 만듭니다. 새로 만든 데이터베이스에서 테이블을 마우스 오른쪽 단추로 누릅니다. 그런 다음 몇 개의 열을 추가할 수 있습니다.
참고: DBLookup 노드에서 액세스하는 테이블의 모든 정수 필드를 NOT NULL로 정의합니다. SQL 데이터베이스에는 다음 데이터 유형만 지원됩니다. SQLINT1(tinyint), SQLINT2(smallint), SQLINT4(int), SQLCHAR(char), SQLVARCHAR(varchar), SQLFLT4DBFLT4(real), SQLFLT8DBFLT8(float) 및 SQLDATETIME(datetime). SQLDATETIME, SQLVARCHAR 및 SQLCHAR를 제외한 모든 필드를 NOT NULL 필드로 정의해야 합니다. 이 세 필드를 NULL로 정의할 수 있습니다.
varchar 데이터 유형은 숫자에 문자를 포함할 수 있는 유연성을 허용합니다. Phone 열을 기본 키로 설정하려면 확인란에서 Allow Nulls(Null 허용)의 선택을 취소합니다. 이 열을 기본 키로 설정하려면 마우스 오른쪽 단추를 누르고 기본 키 설정을 선택합니다.
이 단계가 완료되면 변경 사항을 저장합니다. 이제 테이블에 데이터를 추가할 수 있습니다.
- 이 데이터베이스에 연결하기 위해 ICM을 구성합니다.
데이터베이스 조회 탐색기를 열려면 탐색기 도구 아래의 구성 관리자를 사용합니다. 그런 다음 새로 만든 데이터베이스와 열을 추가합니다.
또한 시스템에서 기본적으로 비밀번호가 비어 있는 sa를 사용하므로 데이터베이스에 로그인하려면 사용자 이름/비밀번호를 구성해야 합니다. 레지스트리의 사용자 이름/비밀번호를 다음 키로 구성합니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems,
Inc.\ICM\inst1\RouterA\Router\CurrentVersion\Configuration\Database\SQLLogin
다음 예에서는 도메인 사용자로 키를 구성하는 방법을 보여줍니다.
\\POD2SPRAWLA\DBLookup=(ZFB\Administrator,password)
참고: 비밀번호에 다음 특수 문자를 사용하지 마십시오. "=", ")", "(", ",", "?", "\", "/"
-
웹 인터페이스의 라우터 설정에서 액세스할 수 있는 Edit Router(라우터 수정) 화면에서 Enable Database Routing(데이터베이스 라우팅 활성화)을 선택해야 합니다.
- 스크립트에서 이 데이터베이스를 사용합니다.
DBLookup 노드를 추가하고 검색할 테이블을 지정합니다. 이 예에서는 CallingLineID를 사용하여 Priority 테이블을 검색하는 방법을 보여 줍니다. nchar가 데이터 유형으로 선택되었으므로 조회를 입력하기 전에 숫자를 문자열로 변환해야 합니다.
조회는 기본 키로 설정된 열에서 발생합니다. 나중에 동일한 행의 데이터를 사용하여 통화 변수를 채울 수 있습니다. 다음 예에서는 데이터베이스와 구성 관리자 모두에 다른 열인 City를 추가하는 방법을 보여 줍니다. 이 열은 스크립트에 채울 수 있습니다.
다음을 확인합니다.
이 섹션을 사용하여 DB Worker가 외부 데이터베이스에 연결할 수 있는지 확인합니다. DB Worker 프로세스의 마지막 재시작 이후 로그가 포함된 txt 파일 dbw.txt를 생성합니다.
C:\Users\Administrator.ZFB>cdlog
ra
C:\icm\inst1\ra\logfiles>dumplog dbw /o /ms /last
DB Worker가 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
스크립트의 DBLookup 노드에 의해 트리거되는 기본 키 열에 일치하는 항목이 없는 경우 DB 작업자 로그에 이 응답이 표시됩니다.
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
일치하는 항목이 있을 경우 다음 응답을 표시합니다.
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.
문제 해결
현재 이 설정에 사용할 수 있는 특정 문제 해결 정보가 없습니다.