目录

简介

先决条件

要求

使用的组件

背景信息

配置

故障排除

相关信息

简介

本文档介绍为SQL数据库配置客户语音门户(CVP)Call Studio数据库元素Tomcat Java命名和目录接口(JNDI)。

先决条件

要求

Cisco 建议您了解以下主题：

- 思科统一联络中心企业版(UCCE)版本12.6.2

- 思科套装联络中心企业版(PCCE)版本12.6.2

- CVP版本12.6.2

- CVP呼叫工作室12.6.2

使用的组件

本文档中的信息基于以下软件版本：

- 思科PCCE版本12.6.2

- CVP版本12.6.2

- CVP呼叫工作室12.6.2

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

数据库元素提供在语音应用程序呼叫流中的外部数据库上运行结构化查询语言(SQL)命令的能力。该元素需要在Java应用程序服务器中配置JNDI，以便处理数据库连接。每个元素只能运行一个SQL语句。可以执行四种命令，但本文档中仅使用单个命令：

Single — 用于运行只返回一行的SQL查询。将创建元素数据，变量名称为返回列的名称，该列的值为元素数据值（作为字符串）。 如果未返回任何行，则不会设置任何元素数据。

有关详细信息，请参阅CVP VXML元素指南。

配置

本节介绍如何在Tomcat中创建新的JNDI数据库连接。

步骤1.确定CVP服务器上的Java运行时环境(JRE)版本。

- 单击Start按钮（桌面栏上的左按钮角）

- 点击运行……选项

- 键入CMD，然后单击OK以显示DOS提示符

- 然后键入java-version

步骤2.安装与SQL版本兼容的Java数据库连接(JDBC)驱动程序。要在应用程序服务器上启用数据库访问，必须安装兼容的JDBC驱动程序。这些驱动程序通常打包为JAR文件，必须放置在应用程序服务器类路径可访问的目录中(例如，在Tomcat上，放置在%CVP_HOME%\VXMLServer\Tomcat\lib中)。

此处可以找到不同的驱动程序。

MS支持列表的一个示例：

注意：数据库必须存在，此连接才能正常工作。CVP语音XML(VXML)服务器不会为您创建数据库。本文档以UCCE AW数据库为例，所安装的JDBC驱动程序版本为12.6。

步骤2.为数据库连接添加Tomcat上下文，以便CVP VXML服务器知道如何与数据库通信。有关详细信息，请参阅https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html。

以下是使用SQL的示例(从AUDIUM_HOME\Tomcat\conf文件夹编辑context.xml，其中AUDIUM_HOME通常为Cisco\CVP\VXMLServer):

<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有两个连接池库：commons-dbcp and tomcat-jdbc-pool。由于tomcat-jdbc-pool连接池库存在已知问题，如果CVP VXML服务器和远程SQL Server之间的连接断开，则不会自动重新建立连接。只有在重新启动VXMLServer tomcat服务后，才能重新建立连接。

commons-dbcp连接池库没有此问题。缺省情况下使用commons-dbcp库，并且仅在tomcat context.xml文件包含以下行时使用tomcat-jdbc-pool:

factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

由于此问题，思科建议不要使用tomcat-jdbc-pool库。

步骤4.重新启动CVP VXML服务。

步骤5.在CVP Call Studio中，编辑有问题的数据库元素的配置。将您从Tomcat上下文在<LABEL_YOU_CHOOSE>中输入的字符串输入到数据库元素“设置”选项卡的“JNDI名称”属性中。

注意：请勿在此处包括jdbc/部分。

步骤6.保存、部署和更新VXML服务器上的应用程序。

故障排除

目前没有针对此配置的故障排除信息。

相关信息

- Microsoft JDBC Driver for SQL Server支持列表：Microsoft JDBC驱动程序

- VXMl元素指南：CVP VXML元素指南

- 技术支持和文档 - Cisco Systems