はじめに
このドキュメントでは、SQLデータベースのConfigure Customer Voice Portal(CVP)Call Studio Database Element、Tomcat Java Naming and Directory Interface(JNDI)について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Unified Contact Center Enterprise(UCCE)リリース12.6.2
- Cisco Package Contact Center Enterprise(PCCE)リリース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
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
データベース要素は、音声アプリケーションコールフロー内の外部データベースでStructured Query Language(SQL;構造化照会言語)コマンドを実行する機能を提供します。この要素では、データベース接続を処理するために、JavaアプリケーションサーバーでJNDIを構成する必要があります。要素ごとに実行できるSQLステートメントは1つだけです。実行できるコマンドは4種類ありますが、このドキュメントでは単一のコマンドのみを使用します。
Single - 1行のみを返すSQLクエリを実行するために使用します。要素データは、返されるカラムの名前を変数名とし、そのカラムの値を要素データ値(文字列)として使用して作成されます。 行が返されない場合、要素データは設定されません。
詳細については、『CVP VXML Element』ガイドを参照してください。
コンフィギュレーション
この節では、Tomcatで新しいJNDIデータベース接続を作成する方法について説明します。
ステップ 1:CVPサーバ上のJava Runtime Environment(JRE)のバージョンを確認します。
- Startボタン(デスクトップバーの左ボタンコーナー)をクリックします。
- Run...オプションをクリックします
- CMDと入力してOKをクリックし、DOSプロンプトを表示します
- 次に、java-version

ステップ 2:SQLバージョンと互換性のあるJava Database Connectivity (JDBC)ドライバをインストールします。アプリケーションサーバーでデータベースアクセスを有効にするには、互換性のあるJDBCドライバをインストールする必要があります。これらのドライバは、通常JARファイルとしてパッケージ化され、アプリケーションサーバのクラスパスにアクセス可能なディレクトリ(Tomcatの%CVP_HOME%\VXMLServer\Tomcat\libなど)に配置する必要があります。
さまざまなドライバはここから入手できます。
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\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とtomcat-jdbc-poolの2つの接続プールライブラリがあります。tomcat-jdbc-pool接続プールライブラリの既知の問題により、CVP VXMLサーバとリモートSQLサーバ間の接続がダウンした場合、接続は自動的に再確立されません。接続を再確立できるのは、VXMLServer tomcatサービスの再起動後だけです。
commons-dbcp接続プールライブラリには、この問題はありません。commons-dbcpライブラリはデフォルトで使用され、tomcat-jdbc-poolは、tomcat context.xmlファイルに次の行が含まれている場合にのみ使用されます。
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
この問題のため、tomcat-jdbc-poolライブラリの使用はお勧めしません。
ステップ 4:CVP VXMLサービスを再起動します。

ステップ 5:CVP Call Studioで、対象のデータベース要素の設定を編集します。Tomcatコンテキストからデータベース要素の「設定」タブの「JNDI名」プロパティーに<LABEL_YOU_CHOOSE>で入力した文字列を入力します。
注:ここにjdbc/portionを含めないでください。

手順 6:VXMLサーバでアプリケーションを保存、展開、および更新します。
トラブルシュート
現在、この設定に関する特定のトラブルシューティング情報はありません。
関連情報