소개
이 문서에서는 SQL 데이터베이스용 CVP(Customer Voice Portal) Call Studio 데이터베이스 요소 구성, Tomcat JNDI(Java Naming and Directory Interface)에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco Unified UCCE(Contact Center Enterprise) 릴리스 12.6.2
- Cisco PCCE(Package Contact Center Enterprise) 릴리스 12.6.2
- CVP 릴리스 12.6.2
- CVP Call Studio 12.6.2
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.
- Cisco PCCE 릴리스 12.6.2
- CVP 릴리스 12.6.2
- CVP Call Studio 12.6.2
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
database 요소는 음성 응용 프로그램 통화 흐름 내의 외부 데이터베이스에서 SQL(Structured Query Language) 명령을 실행하는 기능을 제공합니다. 이 요소를 사용하려면 데이터베이스 연결을 처리하기 위해 Java 응용 프로그램 서버에 JNDI를 구성해야 합니다. 요소당 하나의 SQL 문만 실행할 수 있습니다. 만들 수 있는 명령 유형은 네 가지가 있지만 이 문서에서는 단일 명령만 사용됩니다.
단일 - 단일 행만 반환하는 SQL 쿼리를 실행하는 데 사용됩니다. 반환되는 열의 이름이 변수 이름이고 해당 열의 값이 요소 데이터 값(문자열)이 되는 요소 데이터가 생성됩니다. 행이 반환되지 않으면 요소 데이터가 설정되지 않습니다.
자세한 내용은 CVP VXML Element Guide에서 확인할 수 있습니다.
설정
이 섹션에서는 Tomcat에서 새 JNDI 데이터베이스 연결을 생성하는 방법에 대해 설명합니다.
1단계. CVP 서버에서 JRE(Java Runtime Environment) 버전을 확인합니다.
- 시작 버튼(데스크톱 표시줄의 왼쪽 버튼 코너)을 클릭합니다.
- 실행... 옵션을 클릭합니다.
- CMD를 입력하고 OK를 클릭하여 DOS 프롬프트를 표시합니다.
- 그런 다음 java-version을 입력합니다

2단계. SQL 버전과 호환되는 JDBC(Java Database Connectivity) 드라이버를 설치합니다. 응용 프로그램 서버에서 데이터베이스 액세스를 활성화하려면 호환되는 JDBC 드라이버가 설치되어 있어야 합니다. 일반적으로 JAR 파일로 패키지되는 이러한 드라이버는 Tomcat에서 응용 프로그램 서버 클래스 경로에 액세스할 수 있는 디렉토리에 배치해야 합니다(예: %CVP_HOME%\VXMLServer\Tomcat\lib에 배치).
여기서 다양한 드라이버를 찾을 수 있습니다.
MS Supported(MS 지원) 목록의 예:


참고: 이 연결이 작동하려면 데이터베이스가 있어야 합니다. CVP Voice XML(VXML) Server에서 데이터베이스를 만들지 않습니다. 이 문서에서는 UCCE AW 데이터베이스를 예로 들며 JDBC 드라이버 버전 12.6이 설치되어 있습니다.

2단계. CVP VXML 서버가 데이터베이스와 통신하는 방법을 알 수 있도록 데이터베이스 연결을 위한 Tomcat 컨텍스트를 추가합니다. 자세한 내용은 https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html을 참조하십시오.
다음은 SQL을 사용하는 예입니다(AUDIUM_HOME이 대개 Cisco\CVP\VXMLServer인 AUDIUM_HOME\Tomcat\conf 폴더에서 context.xml 편집).
<Context>
<Resource name="jdbc/<LABEL_YOU_CHOOSE>"
auth="Container"
type="javax.sql.DataSource"
username="USER_NAME"
password="USER_PW"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://HOSTNAME_OR_IP:PORT;DatabaseName=< DB_NAME>" />
</Context>
MS SQL의 기본 포트 번호는 1433입니다. 이전 컨텍스트의 예제 url은 'jdbc: sql://localhost:1433;databaseName=pcce_awdb'
참고: 또는 <GlobalNamingResources> 아래의 server.xml 파일에 <Resource>를 구성하고 <Context> 아래의 context.xml에 <ResourceLink>를 만들 수 있습니다.
보안을 강화하려면 요소를 사용하여 사용자 이름 또는 비밀번호를 설정하고 context.xml 파일에서 사용자 이름 및 비밀번호 필드를 수동으로 삭제하는 것이 좋습니다.
요소에 사용자 이름과 비밀번호가 제공되면 context.xml 파일의 사용자 이름 및 비밀번호는 무시됩니다.

3단계. 부하가 큰 조건에서는 데이터베이스 연결 풀링을 활성화합니다.
데이터베이스 연결 풀은 데이터베이스에 대한 연결 풀을 생성하고 관리합니다. 데이터베이스에 대한 기존 연결을 재활용하고 다시 사용하는 것이 새 연결을 여는 것보다 효율적입니다. Tomcat 데이터베이스 풀링에 대한 자세한 내용은 https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html을 참조하십시오.
참고: Tomcat 8.0에는 2개의 연결 풀 라이브러리가 있습니다. commons-dbcp 및 tomcat-jdbc-pool. tomcat-jdbc-pool 연결 풀 라이브러리의 알려진 문제로 인해 CVP VXML 서버와 원격 SQL Server 간의 연결이 끊기면 연결이 자동으로 다시 설정되지 않습니다. VXMLServer tomcat 서비스가 다시 시작된 후에만 연결을 다시 설정할 수 있습니다.
commons-dbcp 연결 풀 라이브러리에는 이 문제가 없습니다. commons-dbcp 라이브러리는 기본적으로 사용되며 tomcat-jdbc-pool은 tomcat context.xml 파일에 다음 행이 포함된 경우에만 사용됩니다.
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
이 문제로 인해 Cisco에서는 tomcat-jdbc-pool 라이브러리를 사용하지 않는 것이 좋습니다.
4단계. CVP VXML 서비스를 다시 시작합니다.

5단계. CVP Call Studio에서 해당 데이터베이스 요소의 컨피그레이션을 편집합니다. Tomcat 컨텍스트에서 <LABEL_YOU_CHOOSE>에 입력한 문자열을 Database 요소의 Settings 탭에 있는 JNDI Name 등록 정보에 입력합니다.
참고: jdbc/부분을 여기에 포함하지 마십시오.

6단계. VXML 서버에서 응용 프로그램을 저장, 배포 및 업데이트합니다.
문제 해결
현재 이 설정에 사용할 수 있는 특정 문제 해결 정보가 없습니다.
관련 정보