You are on page 1of 14

Modulo AccesoDB

Procedimiento

Instalación Modulo AccesoDB

IVR MTC

Septiembre 2009

Preparado por: Fecha: Revisado por: Fecha: Aprobado por: Fecha:


Miguel Angel Meneses 09/09/2009 Miguel Angel Meneses 11/09/2009

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

1
Modulo AccesoDB

Índice

1. Audiencia..........................................................................................................3

2. Objetivos..........................................................................................................3

3. Instalando Archivos.........................................................................................3

4. Configurando ODBC........................................................................................4

5. Reinicio Servicio Tomcat................................................................................6

6. Configuración y Pruebas Aplicación testDBSelect......................................7

7. Incorporando el modulo DBSelect.vxmlScript en su aplicación.................9

8. Subrutinas Modulo DBSelect........................................................................11


8.1. Subrutina executeSELECT..............................................................................................11
8.2. Subrutina executeUPDATE..............................................................................................12
8.3. Subrutina getNumRegistros.............................................................................................13
8.4. Subrutina getRegistro.......................................................................................................14

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

2
Modulo AccesoDB

1. Audiencia
Este documento va dirigido a los especialistas técnicos que desarrollan aplicaciones con la
herramienta Invision Studio 3.x de Convergys.

2. Objetivos
Este documento explica el procedimiento para incorporar la funcionalidad de conexión a base de datos
a través de un ODBC utilizando una clase en JAVA desde un JSP.

Pasos a realizar:
1. Instalar los archivos necesarios para el funcionamiento del JSP y la aplicación de prueba.
2. Configurar el DSN utilizando el Administrador ODBC. (Se muestra solo un ejemplo de una
configuración, usted realice la configuración con el driver de base de datos a utilizar).
3. Reinicio del servicio Tomcat de InterVoice
4. Configuración y Pruebas con la aplicación testDBSelect.
5. Incorporando el modulo DBSelect.vxmlScript en su aplicación.

3. Instalando Archivos
• Seleccione una ventana CMD
• Crear en la unidad D: el directorio db
D:\> md db
D:\> cd db
D:\db>

• Copie los archivos del archivo empaquetado DBSelectMTC.zip en el directorio d:\DB.


D:\db> copy f:\db

f:\db\DBSelect.class
f:\db\executeSELECT.jsp
f:\db\instaladb.cmd
f:\db\DBSelect.vxml
f:\db\Root.vxml
f:\db\testDBSelect.js
f:\db\testDBSelect.vxml
f:\db\m2.wav
8 file(s) copied.

• Ejecute el comando instaladb.cmd para instalar el JSP executeSELECT en el directorio Tomcat


de InterVoice y la aplicación de prueba testDBSelect, al terminar elimine el archivo CMD y el
directorio:
D:\db> instaladb

Instala el archivo executeSELECT.jsp


para el acceso a base de datos a traves de ODBC

Presione una tecla para continuar, para cancelar CTRL+C...


The system cannot find the path specified.
Creando directorio ...tomcat...\classes...
The system cannot find the path specified.
Creando directorio ...tomcat...\tools...
Copiando executeSELECT.jsp...
1 file(s) copied.
1 file(s) copied.

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

3
Modulo AccesoDB

Copiando aplicacion testDBSelect...


1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.
1 file(s) copied.

Termina copia de archivo JSP...

D:\db>

4. Configurando ODBC.
La configuración del DSN (Data Source Name) se realiza utilizando la herramienta del propio sistema
operativo Windows (ODBC Administrator). Usted debe realizar la configuración requerida por el tipo
de driver de base de datos que desea utilizar (SQL, INFORMIX, ORACLE, etc.).

La siguiente configuración muestra un ejemplo de conexión a SQL Server.

• Abrir el Administrador de ODBC:


Seleccione Start Settings Control Panel, después abrir el subfolder Administrative Tools, y
después seleccionar el programa Data Source (ODBC).

• Para crear un nuevo DSN, seleccione la pestaña System DSN, después presione el botón Add, a
continuación seleccione el tipo de driver que desea utilizar, para nuestro ejemplo utilizamos el
driver SQL Server como se muestra en la figura.

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

4
Modulo AccesoDB

• Coloque el nombre de DSN y la dirección IP o hostname del Servidor (para nuestro ejemplo,
utilizamos testDSN y 192.168.1.20), después presione el botón Next.

• Seleccionar el tipo de autentificación SQL Server y especifique el usuario y password


correspondiente (para nuestro ejemplo, utilizamos sa), después presione el botón Next.

• Seleccione la base de datos activando la opción Change the default database to: (para nuestro
ejemplo, utilizamos Pruebas). Después presione el botón Next para finalizar presione el botón
Finish.

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

5
Modulo AccesoDB

• Presione el botón Test Data Source para verifique que la conexión a la Base de datos se
establezca, si la conexión es exitosa observara el mensaje TEST COMPLETED SUCCESSFULLY!
presione después el botón OK para finalizar la creación del nuevo DSN.

5. Reinicio Servicio Tomcat.


Es necesario reiniciar el servicio tomcat de Intervoice para que el JSP executeSELECT pueda ser
ejecutado. Abra el programa services desde Start Programs Administrative Tools Services,
una vez abierto, PARE y REINICIE el servicio Intervoice Administration Tomcat.

Después de reiniciar el servicio, ejecute el programa Internet Explorer y escriba la siguiente dirección
sustituyendo el texto <ipservidor> por la dirección IP de su equipo IVR:

http://<ipservidor>:8070/executeSELECT.JSP?query=testDSN

El resultado es un XML como se muestra en la siguiente figura, cuyo texto indica “Error en
parametros testDSN…”
Instalación Interfase ODBC
Fecha impresión: 10/09/2009

6
Modulo AccesoDB

Si no se obtiene información, presione el botón derecho del Mouse y seleccione View Source.

A continuación se abre el notepad mostrando el código retornado.

Si no se obtiene el XML mostrado, intente reiniciando el equipo o realice nuevamente la instalación de


los archivos. Si el problema continua capture la pantalla o el código retornado (View Source) y
enviarlo al correo mmeneses@kranon.com

6. Configuración y Pruebas Aplicación testDBSelect.


El proceso de instalación copia en el directorio APPL la aplicación testDBSelect, la aplicación tiene los
siguientes archivos:

DBSelect.vxml Modulo de la interfase de conexión a la base de datos.


Root.vxml Modulo Root de la aplicación testDBSelect.
testDBSelect.vxml Aplicación principal que ejecuta la conexión de prueba.
testDBSelect.js Archivo de configuración que permite definir el usuario, el password,
el DSN y el query de consulta a la base de datos.

Edite el archivo testDBSelect.js y especifique el nombre del DSN, usuario, password y query para
ejecutar la prueba.

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

7
Modulo AccesoDB

//
// Parámetros de prueba de conexión a base de datos.
//
application.Tipo = "SELECT"; // Utilice SELECT o UPDATE.

application.DSN = "testDSN";
application.User = "sa";
application.Pwd = "ivr";
application.Query = "select * from Prueba";

Guarde los cambios realizados y cerrar el archivo.


Ahora abra el Internet Explorer y entre a la configuración del Control Center, seleccione la acción
Edit, de la configuración Application Routing.

defina la aplicación testDBSelect en su regla actual, y presione submit para aplicar el cambio.

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

8
Modulo AccesoDB

• Realice una llamada de prueba a la extensión del IVR.


• Durante la prueba solo escuchara el mensaje “Su solicitud ha sido realizada” y se termina la
llamada.
• Ejecute el comando tordnote FLUSH
D:\> tordnote flush

Filters for log file d:\program files\intervoice\vxml mtc for pstn\dat\system.bil


NONE

Matches found = 731

D:\>

• Edite el archivo dbselect.log localizado en el directorio d:\logs y observe el resultado de la


consulta, a continuación se muestran algunos ejemplos:

o Consulta Exitosa:
09-11-2009,19:11:00:015,Line=1,sid=2,msg=Funcion executeSELECT, parametros ( ,testDSN,sa,,select * from prueba,true, )
09-11-2009,19:11:00:515,Line=1,sid=2,msg=ExternalCall executeSELECT.JSP, result:,ok, Driver Loaded! Connection Success!
Retorna (2,2)
09-11-2009,19:11:00:515,Line=1,sid=2,msg=Total de Registros:,2,Informacion:
09-11-2009,19:11:00:515,Line=1,sid=2,msg=1234567890,500.0,9876543210,1500.0

o Error en el Query de la Consulta:


09-11-2009,19:22:10:453,Line=1,sid=4,msg=Funcion executeSELECT, parametros ( ,testDSN,sa,,select * from Prueba2,true, )
09-11-2009,19:22:10:625,Line=1,sid=4,msg=ExternalCall executeSELECT.JSP, result:,error, Driver Loaded! SQLException:
[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'Prueba2'.
09-11-2009,19:22:10:625,Line=1,sid=4,msg=Falla al realizar la consulta, query,select * from Prueba2,DSN y
usuario,testDSN,sa,error,Driver Loaded! SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name
'Prueba2'.

Sugerencia: Revisar el Query o verificar que el DSN este accesando la base de datos
correcta.
o Error en la Ejecución del JSP:
09-11-2009,19:22:55:718,Line=1,sid=5,msg=Funcion executeSELECT, parametros ( ,testDSN,sa,,select * from Prueba2,true, )
09-11-2009,19:22:55:718,Line=1,sid=5,msg=Falla, error fecth al ejecutar ExternalCall executeSELECT.JSP, query,select * from
Prueba2,DSN y usuario,testDSN,sa

Sugerencia: Revisar si esta funcionando el JSP executeSELECT, verificar el tiempo que


tarda en realizarse la consulta, en caso necesario, ampliarlo.

• Ejemplo Archivo tesdb.log generado por la aplicación testDBSelect:


09-11-2009,19:21:02:312,Line=1,sid=3,msg=testDBSelect OK, total de registros obtenidos,2,total de elementos obtenidos,4
09-11-2009,19:22:10:625,Line=1,sid=4,msg=testDBSelect error

7. Incorporando el modulo DBSelect.vxmlScript en su aplicación


A continuación se listan los pasos realizados para incorporar el modulo DBSelect en un proyecto en
Invision Studio 3.X

Procedimiento:

1. Cerrar su proyecto en caso de tener abierta su aplicación.


2. Editar con el notepad el archivo con extensión project de su proyecto (<nombre>.project)

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

9
Modulo AccesoDB

3. Agregar la siguiente línea: <Script>[nombre]\DBSelect.vxmlScript</Script> donde [nombre]


especifica el nombre del proyecto, como se muestra en la figura.

4. Copiar el archivo DBSelect.vxmlScript en el directorio de su proyecto (descomprimir el archivo


ScriptDBSelect.zip).
En nuestro ejemplo, el archivo quedaría en:
C:\Program Files\Intervoice\InVision Studio 3.0\Projects\Ejemplo\DBSelect.vxmlScript

5. Al abrir su proyecto el nuevo script queda incorporado:

6. A partir de ahora usted ya puede hacer uso de las funciones del Modulo DBSelect. (ver la
sección “Subrutinas Modulo DBSelect”).

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

10
Modulo AccesoDB

8. Subrutinas Modulo DBSelect


El modulo DBSelect permite llamar las siguientes funciones:

Función Objetivo
executeSELECT Ejecuta un query que retorna un record set resultado de la
consulta.
executeUPDATE Ejecuta un query que no retorna información, por ejemplo
la sentencia insert o update.
getNumRegistros Retorna el número de registros obtenidos de la consulta.
getRegistro Obtiene las columnas de un registro específico.

8.1. Subrutina executeSELECT


La subrutina executeSELECT realiza la consulta a la base de datos y almacena los registros leidos en
una variable Global, para poder ser utilizada por cualquier otro modulo de la aplicación. Las siguientes
variables globales son afectadas en su ejecución:

Variable Objetivo
application.Registros Numero de registros obtenidos
application.vaRegistros Arreglo conteniendo toda la información de la consulta.

Se recomienda utilizar sentencias SELECT o EXECUTE PROCEDURE cuyo resultado retornen


información (registros).

Parámetros de la Subrutina:

Los parámetros se consideran de tipo String, aquellos parámetros que sean diferente de String, en la
sección de comentarios (Comments) se especifica el tipo del dato entre paréntesis, ejemplo: (integer).
Instalación Interfase ODBC
Fecha impresión: 10/09/2009

11
Modulo AccesoDB

Etiquetas de Retorno:
Etiqueta Comentario
Ok La consulta fue exitosa.
NoRecords La consulta fue exitosa pero no retorna información.
ErrorDB Error en la consulta a la base de datos, revisar el tipo de
error en el archivo d:\logs\dbselect.log

8.2. Subrutina executeUPDATE


La subrutina executeUPDATE realiza la consulta a la base de datos, se recomienda en el uso de
sentencias UPDATE, INSERT, DELETE o EXECUTE PROCEDURE cuyo resultado NO retornen
información (registros).

Parámetros de la Subrutina:

Los parámetros se consideran de tipo String, aquellos parámetros que sean diferente de String, en la
sección de comentarios (Comments) se especifica el tipo requerido entre paréntesis, ejemplo:
(integer).

Etiquetas de Retorno:
Etiqueta Comentario
Ok La consulta fue exitosa.
ErrorDB Error en la consulta a la base de datos, revisar el tipo de
error en el archivo d:\logs\dbselect.log

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

12
Modulo AccesoDB

8.3. Subrutina getNumRegistros


La subrutina getNumRegistros retorna el número de registros obtenidos de la consulta realizada
previamente al ejecutar la subrutina executeSELECT.

Parámetros de la Subrutina:

El parámetro es de tipo Booleano y es utilizado para indicar que se almacene la información de la


operación, su uso es solo para depuración, por default no almacena información.

NOTA: La función solo obtiene el valor actual de la variable application.Registros y lo almacena en la


variable indicada en la casilla Result, se desconoce si fue ejecutada previamente la función
executeSELECT.

Etiquetas de Retorno: NINGUNA

Script de Ejemplo:

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

13
Modulo AccesoDB

8.4. Subrutina getRegistro


La subrutina getRegistro retorna la información de un solo registro en particular, su uso es después
de haber realizado la consulta a la base de datos al ejecutar la subrutina executeSELECT.

Parámetros de la Subrutina:

NOTA: La función trata de obtener la información actual de la variable application.vaRegistros y lo


almacena en la variable indicada en el parámetro 2, se desconoce si fue ejecutada previamente la
función executeSELECT.

Etiquetas de Retorno: NINGUNA

Instalación Interfase ODBC


Fecha impresión: 10/09/2009

14

You might also like