esp_adg

504
 IB MDB2 Eve rypla ce Guía d eap li caciones ydesarrollo V ersión8. 2 SC10-3942-02

Upload: omar-molina

Post on 14-Jul-2015

402 views

Category:

Documents


0 download

TRANSCRIPT

IBM DB2 Everyplace

Gua de aplicaciones y desarrolloV ersin 8.2

SC10-3942-02

IBM DB2 Everyplace

Gua de aplicaciones y desarrolloV ersin 8.2

SC10-3942-02

Nota Antes de utilizar este manual y el producto al que da soporte, lea la informacin incluida en el apartado Avisos en la pgina 485.

Tercera edicin (agosto de 2004) Este manual es la traduccin del original ingls IBM DB2 Everyplace Application and Development Guide Version 8.2, (SC18-7185-02). Esta edicin es aplicable a la versin 8, release 2 de IBM DB2 Everyplace y a todos los releases y modificaciones subsiguientes hasta que se indique lo contrario en nuevas ediciones. Copyright International Business Machines Corporation 1998, 2004. Reservados todos los derechos.

ContenidoGua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2 . . . . 1 Visiones generales del producto . . . . 3Visin general de DB2 Everyplace . . . . . . . 3 Qu es DB2 Everyplace? . . . . . . . . . 3 Componentes de la solucin DB2 Everyplace . . 4 Configuracin bsica para la solucin DB2 Everyplace . . . . . . . . . . . . . . 5 Base de datos porttil DB2 Everyplace . . . . . 5 DB2 Everyplace Sync Server . . . . . . . . 6 DB2 Everyplace Sync Client . . . . . . . . 7 DB2 Everyplace Mobile Application Builder . . . 7 Aplicaciones de ejemplo de DB2 Everyplace . . . 7 Caso prctico de ejemplo de DB2 Everyplace . . 8 Accesibilidad . . . . . . . . . . . . . 8 Visin general de la documentacin de DB2 Everyplace . . . . . . . . . . . . . . . 9 Conjunto de informacin de DB2 Everyplace . . 9 Acceso a la documentacin de DB2 Everyplace 10 Acceso a documentacin tcnica en la Web . . . 10 Cdigo de ejemplo de aplicacin de DB2 Everyplace .NET Data Provider para WinCE y Windows . . . . . . . . . . . . . . Codificacin de caracteres en aplicaciones .NET Desarrollo mediante SQL y procedimientos almacenados . . . . . . . . . . . . . . Visin general de los marcadores de parmetros Ejemplos de utilizacin de marcadores de parmetros . . . . . . . . . . . . . Marcadores de parmetros soportados por DB2 Everyplace . . . . . . . . . . . . . Adaptador de consultas y procedimientos almacenados remotos . . . . . . . . . . Desarrollo de aplicaciones Visual Basic . . . . . Desarrollo de aplicaciones Visual Basic de DB2 Everyplace . . . . . . . . . . . . . Sistemas operativos que dan soporte a la interfaz de Visual Basic . . . . . . . . . . . . Visin general de la aplicacin Visual Basic de ejemplo . . . . . . . . . . . . . . . Compilacin y prueba del programa Visual Basic de ejemplo . . . . . . . . . . . . . Temas avanzados . . . . . . . . . . . . Visin general de las tablas de las bases de datos porttiles DB2 Everyplace . . . . . . . . Manejo de conflictos de denominacin . . . . Serializacin de conexiones . . . . . . . . Comportamiento del cursor en el contexto de una conexin . . . . . . . . . . . . . . Tablas base del catlogo del sistema de DB2 Everyplace . . . . . . . . . . . . . 64 66 67 67 67 71 72 77 77 78 78 82 83 83 84 84 85 87

Desarrollo . . . . . . . . . . . . . 11Herramientas de desarrollo . . . . . . . . . WebSphere Studio Device Developer . . . . . Desarrollo de aplicaciones C/C++ . . . . . . . Desarrollo de aplicaciones C/C++ de DB2 Everyplace . . . . . . . . . . . . . CLI (Interfaz de nivel de llamada) . . . . . . Desarrollo de aplicaciones para DB2 Everyplace Sync Client utilizando C/C++ . . . . . . . Desarrollo de aplicaciones Java . . . . . . . . Desarrollo de aplicaciones Java para DB2 Everyplace . . . . . . . . . . . . . Sincronizacin de Java de DB2 Everyplace . . . Codificacin de caracteres en aplicaciones Java Visin general de las aplicaciones Java de ejemplo . . . . . . . . . . . . . . . JDBC . . . . . . . . . . . . . . . JNI . . . . . . . . . . . . . . . . JSP . . . . . . . . . . . . . . . . Desarrollo de aplicaciones .NET . . . . . . . Visin general del soporte de .NET para crear aplicaciones en la base de datos porttil DB2 Everyplace . . . . . . . . . . . . . Visin general del desarrollo de aplicaciones ADO.NET utilizando DB2 Everyplace .NET Data Provider . . . . . . . . . . . . . . API para desarrollar aplicaciones de Sync Server Uso de la API de ISync.NET . . . . . . . . Uso de ISyncComponent . . . . . . . . . Aplicacin de ejemplo simple que utiliza la API de ISync.NET . . . . . . . . . . . . . 11 12 18 18 23 26 29 29 30 33 34 35 37 40 57

Ajuste . . . . . . . . . . . . . . . 91Ajuste de aplicaciones de base de datos . . Varias conexiones con una base de datos . . . . . 91 . 91

Seguridad . . . . . . . . . . . . . 97Visin general del cifrado local de los datos . . . 97 Establecimiento de una conexin con la base de datos porttil DB2 Everyplace . . . . . . . . 98 Cmo otorgar privilegios de cifrado a un usuario. . 99 Creacin de una tabla cifrada . . . . . . . . 99 Gestin de los privilegios de cifrado . . . . . . 100 Cifrado utilizando DB2eCLP . . . . . . . . 100 Contraseas cifradas de Sync Server . . . . . . 105

57

Resolucin de problemas . . . . . . 10958 62 63 63 64 Rastreo y diagnsticos . . . . . . . . . Herramienta de comprobacin de la integridad de los datos . . . . . . . . . . . . . . Tratamiento de los problemas de sincronizacin Resolucin de conflictos de sincronizacin . . Orden de sincronizacin y recepcin de mensajes de error . . . . . . . . . . . 109 . 110 110 . 110 . 111

Copyright IBM Corp. 1998, 2004

iii

Visualizacin del archivo de anotaciones cronolgicas de errores para diagnosticar problemas . . . . . . . . . . . . . Supervisin de la sincronizacin del cliente . . Sincronizacin del servidor . . . . . . . . Cmo proporcionar lgica de manejo de errores para salidas de usuario . . . . . . . . .

112 114 124 125

Consulta . . . . . . . . . . . . . 129Correlaciones de tipos de datos entre DB2 Everyplace y fuentes de datos . . . . . . . IBM Cloudscape Versin 10 . . . . . . DB2 Universal Database . . . . . . . . Informix . . . . . . . . . . . . . Lotus Domino . . . . . . . . . . . Oracle . . . . . . . . . . . . . . Microsoft SQL Server . . . . . . . . . Sybase . . . . . . . . . . . . . . Restricciones de las correlaciones de tipos de datos . . . . . . . . . . . . . . Valores por omisin soportados para las bases de datos . . . . . . . . . . . . . . . Mensajes de error . . . . . . . . . . . Lmites de DB2 Everyplace . . . . . . . . Palabras reservadas de DB2 Everyplace. . . . Mensajes de error de DB2 Everyplace Update Tool Interfaces . . . . . . . . . . . . . . ADO .NET . . . . . . . . . . . . Mandatos del CLP. . . . . . . . . . DB2 CLI . . . . . . . . . . . . . IBM Sync Client . . . . . . . . . . JDBC . . . . . . . . . . . . . . . . . . . . . . 129 129 130 131 132 134 135 136

. 136 . . . . . . . . . . 137 140 194 195 196 198 198 206 208 311 347

Soporte de idioma nacional (NLS) . . . . . . Soporte NLS por sistema operativo de DB2 Everyplace . . . . . . . . . . . . . Habilitadores de idioma de DB2 Everyplace . . Soporte para UNICODE de DB2 Everyplace . . Ejemplo . . . . . . . . . . . . . . . Cdigo de la aplicacin de ejemplo . . . . . Visin general de las aplicaciones de ejemplo de DB2 Everyplace . . . . . . . . . . . Visiting Nurse . . . . . . . . . . . . CLP . . . . . . . . . . . . . . . Java . . . . . . . . . . . . . . . DB2eAppl . . . . . . . . . . . . . Soporte de SQL . . . . . . . . . . . . Sentencias de SQL soportadas . . . . . . . Compatibilidad entre tipos de datos para las operaciones de asignacin y comparacin . . . Atributos de tipos de datos . . . . . . . . Reglas de resta para DATE, TIME y TIMESTAMP . . . . . . . . . . . . Tipos de datos por omisin y simblicos de SQL SQLState . . . . . . . . . . . . . .

381 381 383 384 385 385 388 390 395 398 412 419 419 465 466 469 471 471

GlosarioGlosario . .

. . . . . . . . . . . . . 477. . . . . . . . . . . . . 477

Avisos . . . . . . . . . . . . . . 485Marcas registradas. . . . . . . . . . . . 488

ndice . . . . . . . . . . . . . . . 489

iv

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

Copyright IBM Corp. 1998, 2004

1

2

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

Visiones generales del productoEste apartado proporciona una visin general de DB2 Everyplace y del Centro de informacin de DB2 Everyplace.

Visin general de DB2 EveryplaceEste apartado describe las caractersticas y los componentes de DB2 Everyplace.

Qu es DB2 Everyplace?DB2 Everyplace forma parte de la solucin de IBM para procesos de informtica distribuida. Mediante DB2 Everyplace, los profesionales que se desplazan con frecuencia (como vendedores, inspectores, auditores, tcnicos de mantenimiento, mdicos, agentes inmobiliarios y tasadores de seguros) pueden tener acceso a datos vitales que necesitan mientras estn fuera de su despacho. Las empresas pueden ahora transferir sus datos corporativos a dispositivos porttiles o incorporados. Con DB2 Everyplace, puede acceder a una base de datos que se encuentre en un dispositivo porttil y realizar actualizaciones en ella. Con DB2 Everyplace Sync Server, puede sincronizar datos entre el dispositivo porttil y otras fuentes de datos ubicadas en la empresa. El Adaptador de Archivos le permite distribuir archivos y aplicaciones hacia usuarios mviles. La base de datos porttil DB2 Everyplace es una base de datos relacional que reside en el dispositivo porttil. Para acceder a datos del dispositivo porttil, puede escribir sus propias aplicaciones utilizando las herramientas para el desarrollo rpido de aplicaciones, el conjunto soportado de funciones de DB2 CLI (Call Level Interface), mtodos JDBC (Java Database Connectivity), mtodos ODBC (Open Database Connectivity) o mtodos ADO.NET. IBM ofrece DB2 Everyplace en las siguientes ediciones: DB2 Everyplace Enterprise Edition Proporciona software de bases de datos y de sincronizacin para dispositivos porttiles. En el lado servidor, Enterprise Edition proporciona DB2 Everyplace Sync Server para sincronizar datos entre el dispositivo porttil y las fuentes de datos corporativas. DB2 Everyplace Express Edition Desarrollado sobre la misma base de cdigo que DB2 Everyplace Enterprise Edition, DB2 Everyplace Express resulta fcil de instalar, desplegar y gestionar. DB2 Everyplace Express Edition utiliza un modelo de licencia diseado para ofrecer un precio atractivo para las instalaciones ms reducidas proporcionando a la vez una solucin de datos porttiles completamente funcional. DB2 Everyplace Database Edition Proporciona una base de datos de alto rendimiento y conforme a las normas que se ejecuta en una gran variedad de plataformas porttiles e incorporadas. Importante: Puede instalar distintas ediciones en el mismo servidor, pero debe instalarlas en distintos directorios. Copyright IBM Corp. 1998, 2004

3

Componentes de la solucin DB2 EveryplaceLa solucin DB2 Everyplace para la sincronizacin de datos porttiles incluye los siguientes componentes principales: Base de datos porttil DB2 Everyplace Software que se ejecuta en el dispositivo porttil y que permite a los usuarios acceder a una copia local de datos de un sistema fuente y modificarlos. Consulte la Gua de desarrollo de aplicaciones de DB2 Everyplace para obtener informacin sobre la base de datos porttil DB2 Everyplace y sobre cmo escribir aplicaciones que utilicen el software de base de datos. DB2 Everyplace Sync Server Programa cliente/servidor que gestiona la sincronizacin de datos bidireccional entre una base de datos fuente y una base de datos de destino. Sync Server acta como intermediario entre el software del cliente de sincronizacin del dispositivo porttil y la base de datos DB2 UDB o la base de datos JDBC del servidor fuente. El Centro de administracin de dispositivos porttiles, una herramienta de administracin grfica para Sync Server, permite definir subconjuntos de datos y archivos para que grupos de usuarios puedan acceder a ellos. Sync Server accede a esta informacin de administracin cada vez que un usuario solicita la sincronizacin de datos. DB2 Everyplace Sync Client DB2 Everyplace Sync Client, que se ejecuta en dispositivos porttiles, es una API que las aplicaciones utilizan para permitir la sincronizacin con DB2 Everyplace Sync Server. Gestiona la sincronizacin bidireccional de los datos relacionales corporativos con la base de datos porttil DB2 Everyplace. DB2 Everyplace Mobile Application Builder Una rpida herramienta para el desarrollo de aplicaciones que se puede descargar del sitio Web de DB2 Everyplace y que permite crear y probar aplicaciones de DB2 Everyplace para dispositivos porttiles. Consulte la ayuda en lnea de DB2 Everyplace Mobile Application Builder para obtener ms informacin sobre esta herramienta. La Figura 1 muestra el funcionamiento conjunto de las herramientas en la solucin.Desarrollo de aplicacionesprobar mover a produccinDB2 Everyplace (motor de base de datos)

Sincronizacin

DB2 Everyplace Sync Server Sistema de nivel medio

DB2 Universal Database Sistema fuente

Personal Application Builder DB2 Everyplace (motor de base de datos)

Dispositivo porttil

desarrollar

Figura 1. Funcionamiento conjunto de las herramientas de la solucin DB2 Everyplace

4

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

Configuracin bsica para la solucin DB2 EveryplaceLa configuracin de la solucin DB2 Everyplace implica las dos tareas siguientes: 1. Desarrollo de aplicaciones para DB2 Everyplace. Estas aplicaciones proporcionan a los usuarios de dispositivos porttiles acceso a tablas de bases de datos DB2 Everyplace en sus dispositivos porttiles. Puede desarrollar aplicaciones para DB2 Everyplace utilizando DB2 Everyplace Mobile Application Builder u otro conjunto de herramientas para el desarrollo de aplicaciones para dispositivos porttiles. Consulte el apartado Desarrollo de aplicaciones DB2 Everyplace del Centro de informacin de DB2 Everyplace o la versin en PDF de la Gua de desarrollo de aplicaciones de DB2 Everyplace. 2. Configuracin de la sincronizacin. Debe definir los datos del servidor fuente a los que debe acceder cada grupo de usuarios. Los trabajadores mviles utilizan la aplicacin que la API de DB2 Everyplace Sync Client utiliza para conectarse al servidor y copiar datos fuente a sus dispositivos porttiles. Modifican estos datos utilizando estas aplicaciones y, a continuacin, sincronizan sus cambios con la base de datos fuente.

Base de datos porttil DB2 EveryplaceEsta base de datos reside en el dispositivo porttil. La base de datos porttil se incluye en DB2 Everyplace Database Edition, DB2 Everyplace Express Edition, DB2 Everyplace Enterprise Edition y en la caracterstica Mobility on Demand de DB2 UDB. Encontrar una lista de los dispositivos soportados en el apartado Procesadores de dispositivos porttiles y sistemas operativos soportados.

Procesadores de dispositivos porttiles y sistemas operativos soportadosEn la tabla siguiente, las combinaciones soportadas de procesadores de dispositivos porttiles y sistemas operativos se marcan con una X. La disponibilidad de los dispositivos y el nivel de soporte de los dispositivos puede cambiar a lo largo del tiempo segn las acciones que realice el fabricante del dispositivo. Es posible que algunos dispositivos se queden sin soporte y que se aadan dispositivos nuevos.Tabla 1. Procesadores de dispositivos porttiles y sistemas operativos soportados Procesador / SO Palm OS 4.1 Palm OS 5.0 Palm OS 5.2.1 ARM X X X X X X X X X X X X X X X ARM v4T Strong ARM x86 XScale WINS MIPS

Windows CE X v3 Windows CE X v4 Symbian OS 7 Linux QNX Neutrino X

Visiones generales del producto

5

Tabla 1. Procesadores de dispositivos porttiles y sistemas operativos soportados (continuacin) Procesador / SO Windows 2000 / XP / 2003 Server ARM ARM v4T Strong ARM x86 X XScale WINS MIPS

El diseo de algunos dispositivos puede limitar las funciones de DB2 Everyplace que el dispositivo puede utilizar. No todos los dispositivos admiten todas las funciones que DB2 Everyplace ofrece. IBM no puede garantizar que todos los dispositivos funcionen correctamente debido a diferencias de fabricacin, configuracin y software preinstalado del dispositivo. Algunos clientes de DB2 Everyplace para los dispositivos soportados se encuentran disponibles para descargarlos en lugar de estar incluidos en el soporte de DB2 Everyplace.

DB2 Everyplace Sync ServerDB2 Everyplace Sync Server se incluye con DB2 Everyplace Enterprise Edition, DB2 Everyplace Express Edition y la caracterstica Mobility on Demand de DB2 UDB. Entre otros componentes importantes asociados a Sync Server estn los siguientes: v El Centro de administracin de dispositivos porttiles de DB2 Everyplace v La herramienta de realizacin de scripts XML v Las aplicaciones de ejemplo (lado del servidor) Puede sincronizar datos y aplicaciones entre dispositivos porttiles de DB2 Everyplace y fuentes de datos corporativas utilizando DB2 Everyplace Sync Server y DB2 Everyplace Sync Client. La sincronizacin de datos puede ser bidireccional o unidireccional. Los datos se pueden actualizar en el dispositivo mvil de DB2 Everyplace o en la base de datos corporativa. Por ejemplo, los usuarios pueden descargar un subconjunto de datos de una base de datos DB2 para z/OS a una base de datos DB2 Everyplace en el dispositivo mvil, ver los datos, realizar cambios en los datos y, a continuacin, sincronizar los datos modificados de vuelta al servidor z/OS. DB2 Everyplace Sync Server tambin proporciona un mecanismo para la resolucin de conflictos. DB2 Everyplace Sync Server brinda una herramienta de administracin que le ser de ayuda para gestionar y proporcionar servicios de sincronizacin a grupos de usuarios con necesidades parecidas de sincronizacin de datos. En la publicacin Sync Server Administration Guide dispone de ms informacin sobre el Centro de administracin de dispositivos porttiles. DB2 Everyplace Sync Server da soporte a la sincronizacin de datos relacionales con las fuentes de datos siguientes: v DB2 Universal Database para z/OS v DB2 Universal Database para iSeries v DB2 Universal Database para Linux, UNIX y Windows v Fuentes de datos con una interfaz JDBC soportada. Consulte el apartado Configuracin de Sync Server para el acceso a fuentes de datos si desea obtener informacin sobre los controladores JDBC que DB2 Everyplace soporta.

6

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

DB2 Everyplace Sync ClientDB2 Everyplace Sync Client se incluye con DB2 Everyplace Enterprise Edition, DB2 Everyplace Express Edition. DB2 Everyplace Sync Client, que se ejecuta en dispositivos porttiles, es una API que las aplicaciones utilizan para permitir la sincronizacin con DB2 Everyplace Sync Server. Gestiona la sincronizacin bidireccional de los datos relacionales corporativos con la base de datos porttil DB2 Everyplace ubicada en el dispositivo porttil. El dispositivo porttil tambin maneja operaciones referentes a suscripciones de archivos para facilitar la distribucin de aplicaciones porttiles al dispositivo, y puede ejecutar procedimientos almacenados situados en una base de datos DB2. Para obtener informacin sobre las interfaces de programas de aplicacin (API) proporcionadas con Sync Client, consulte el apartado Resumen de funciones de la API C de IBM Sync Client, los Javadocs de %DSYINSTDIR%\doc\idioma\javadoc\SyncClientJavaAPI\index.html, o la API .NET API en %DSYINSTDIR%\doc\idioma\javadoc\ISyncNetAPI\ISync.NET.chm.

DB2 Everyplace Mobile Application BuilderPuede descargar DB2 Everyplace Mobile Application Builder de http://www.ibm.com/software/data/db2/everyplace/support.html. Puede utilizar DB2 Everyplace Mobile Application Builder para desarrollar aplicaciones de DB2 Everyplace para plataformas Palm OS, Windows, Symbian OS y otras plataformas que den soporte a una interfaz de usuario y una Mquina virtual Java. Mediante Mobile Application Builder, puede crear aplicaciones sin tener que escribir una sola lnea de cdigo. Para obtener informacin sobre cmo obtener Mobile Application Builder, visite el sitio Web de DB2 Everyplace. Existen otras herramientas de desarrollo como, por ejemplo, WebSphere Studio Device Developer, Visual Age Micro Edition, Metrowerks CodeWarrior y GNU Software Developers Kit.

Aplicaciones de ejemplo de DB2 EveryplaceLas aplicaciones de ejemplo proporcionan una muestra de aplicacin que utiliza DB2 Everyplace. Puede utilizar la aplicacin de ejemplo Visiting Nurse para comprobar rpidamente la sincronizacin bidireccional entre la base de datos porttil y Sync Server. Las aplicaciones de ejemplo constan de dos partes: una parte se ejecuta en Sync Server y otra se ejecuta en el dispositivo porttil en el que se encuentra la base de datos porttil DB2 Everyplace. Esta aplicacin de ejemplo en el dispositivo porttil demuestra el funcionamiento del motor de base de datos en un entorno autnomo. Cuando la aplicacin de ejemplo de Sync Server y la aplicacin de ejemplo del motor de base de datos porttil DB2 Everyplace se ejecutan juntas, funcionan como una aplicacin completa que invoca todos los componentes de DB2 Everyplace. DB2 Sync tambin es una aplicacin de ejemplo que muestra cmo utilizar la API de IBM Sync Client para sincronizar las tablas de las suscripciones definidas en el Centro de administracin de dispositivos porttiles. El Procesador de lnea de mandatos es una herramienta para el desarrollo de aplicaciones que se proporciona como aplicacin de ejemplo de utilizacin de DB2 Everyplace en plataformas que disponen de una interfaz de lnea de mandatos. ElVisiones generales del producto

7

Procesador de lnea de mandatos se utiliza para la base de datos porttil DB2 Everyplace en dispositivos porttiles. Sync Server no lo utiliza. Las sentencias de SQL soportadas por DB2 Everyplace permiten crear y eliminar una tabla o ndice, y suprimir, insertar y actualizar las filas de una tabla.

Caso prctico de ejemplo de DB2 EveryplaceLos tasadores de seguros son los encargados de inspeccionar los bienes daados de los clientes que presentan una reclamacin. En la mayora de las empresas, el tasador visita los bienes del reclamante, rellena formularios para validar o rechazar la reclamacin y evala el importe de los daos por los que se debe indemnizar al reclamante. Ms adelante, cuando el tasador regresa a su oficina, la informacin de los formularios se entra manualmente en el sistema informtico de la empresa, lo cual es un proceso tedioso y caro. Este proceso se puede simplificar considerablemente equipando a los tasadores con una aplicacin que ejecute DB2 Everyplace. Mediante sus dispositivos porttiles, los tasadores pueden acceder, dondequiera que est, a su plan de inspecciones, a su ruta de trabajo y a la informacin sobre la pliza de seguro del reclamante. Los tasadores tambin pueden cumplimentar el formulario de tasacin en el dispositivo porttil. Luego, los tasadores pueden sincronizar los datos de sus dispositivos porttiles con el sistema informtico de la empresa transfiriendo los nuevos datos del formulario de tasacin a la base de datos corporativa de la empresa. Si los tasadores necesitan informacin in situ, pueden sincronizar inmediatamente los datos de sus dispositivos porttiles con el sistema informtico de la empresa mediante un mdem. De esta forma, el proceso de evaluar reclamaciones puede prescindir totalmente del papel como soporte de informacin, lo cual supone un gran ahorro de costes para la empresa de seguros. Adems, las reclamaciones se liquidan con ms rapidez, pues el tasador tiene acceso inmediato a las bases de datos corporativas de la empresa.

AccesibilidadLas funciones de accesibilidad ayudan a un usuario que tiene una discapacidad fsica, como, por ejemplo, movilidad restringida o visin limitada, a utilizar productos de software de forma satisfactoria. El Programa de instalacin, el Asistente de configuracin y el Centro de administracin de dispositivos porttiles de DB2 Everyplace son accesibles en incluyen las siguientes caractersticas de accesibilidad: v Posibilidad de controlar todas las funciones con el teclado en lugar del ratn v Personalizacin del tamao y el color de los fonts. v Recepcin de indicaciones de alerta visuales o bien auditivas. v Da soporte a las aplicaciones de accesibilidad que utilizan la API de accesibilidad Java. v Incluyen documentacin que se proporcionan en formato accesible. Entrada de datos mediante el teclado Entrada de datos mediante el teclado Puede utilizar teclas o combinaciones de teclas para realizar operaciones que tambin se pueden realizar utilizando un ratn. Se puede acceder a mens sensibles al contexto desde la barra de mens en lugar de pulsando el botn derecho del ratn.

8

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

Visualizacin accesible DB2 Everyplace dispone de caractersticas que amplan la interfaz de usuario y mejoran la accesibilidad para los usuarios con poca visin. Estas mejoras de la accesibilidad incluyen el soporte para propiedades personalizables para los fonts. Valores de font Se puede especificar el color, el tamao y el font para el texto de los mens y ventanas de dilogos. No dependencia del color No es necesario distinguir los colores para utilizar cualquier funcin de este producto. Soporte de colores de alto contraste El Centro de administracin de dispositivos porttiles se visualiza correctamente cuando se utiliza un esquema de color de alto contraste. No hay contenido que centellee o aparezca de modo intermitente Ningn texto ni elemento de la interfaz grfica de usuario parpadea ni aparece de modo intermitente durante el funcionamiento. Seales de alerta alternativas Puede especificar si desea recibir alertas mediante seales auditivas o visuales. Compatibilidad con tecnologas asistenciales La interfaz del Centro de administracin de dispositivos porttiles de DB2 Everyplace da soporte a la API de accesibilidad Java, lo que permite el uso mediante lectores de pantalla y otras tecnologas asistenciales utilizadas por personas con discapacidades. Documentacin accesible Hay documentacin accesible disponible sobre el producto DB2 Everyplace en el Centro de informacin de DB2 Everyplace: http://www.elink.ibmlink.ibm.com /public/applications/publications/cgibin/pbi.cgi?CTY=US&&FNC=ICL&

Visin general de la documentacin de DB2 EveryplaceEste captulo proporciona informacin sobre la documentacin de DB2 Everyplace, incluidos los manuales, la ayuda en lnea y el centro de informacin basado en la Web.

Conjunto de informacin de DB2 EveryplaceLa informacin tcnica de DB2 Everyplace se encuentra disponible en los siguientes formatos: v Manuales (PDF e impresos) Encontrar una descripcin de cada manual de la biblioteca de DB2 Everyplace en el Centro de publicaciones de IBM en www.ibm.com/shop/publications/order, o en el sitio Web de DB2 Everyplace en http://www-3.ibm.com/software/data/db2/everyplace/library.html. Las versiones PDF de estos manuales llevan los ttulos siguientes: DB2 Everyplace - Gua de desarrollo de aplicaciones DB2 Everyplace Sync Server Administration GuideVisiones generales del producto

9

DB2 Everyplace - Gua de instalacin v Un centro de informacin El centro de informacin contiene la biblioteca completa de DB2 Everyplace en un formato til y en el que se pueden realizar bsquedas. Si desea obtener ms informacin, acceda ahttp://www.elink.ibmlink.ibm.com/public/applications/publications/ cgibin/pbi.cgi?CTY=US&&FNC=ICL&

y seleccione DB2 Everyplace Information Center (Centro de informacin de DB2 Everyplace). v Ayuda en lnea Ayuda en lnea basada en un navegador HTML que se inicia desde la interfaz del Centro de administracin de dispositivos porttiles. En esta documentacin, %DSYINSTDIR% hace referencia al directorio en el que est instalado DB2 Everyplace en un sistema Windows y $DSYINSTDIR hace referencia al directorio en el que est instalado DB2 Everyplace en un sistema Linux o UNIX.

Acceso a la documentacin de DB2 EveryplaceLa informacin tcnica de DB2 Everyplace se encuentra disponible en los siguientes formatos: v Manuales (PDF e impresos). Encontrar una descripcin de cada manual de la biblioteca de DB2 Everyplace en el Centro de publicaciones de IBM en www.ibm.com/shop/publications/order, o en el sitio Web de DB2 Everyplace en http://www-3.ibm.com/software/data/db2/everyplace/library.html. v Un centro de informacin (en formato HTML). La documentacin de DB2 Everyplace est disponible en un formato nuevo, el Centro de informacin de DB2 Everyplace. El centro de informacin contiene la biblioteca completa de DB2 Everyplace en un formato til y en el que se pueden realizar bsquedas. Si desea obtener ms informacin, acceda ahttp://www.elink.ibmlink.ibm.com/public/applications/publications/ cgibin/pbi.cgi?CTY=US&&FNC=ICL&

y seleccione DB2 Everyplace Information Center (Centro de informacin de DB2 Everyplace).

Acceso a documentacin tcnica en la WebLa documentacin de DB2 Everyplace est disponible en un formato nuevo, el Centro de informacin de DB2 Everyplace. El centro de informacin contiene la biblioteca completa de DB2 Everyplace en un formato til y en el que se pueden realizar bsquedas. Si desea obtener ms informacin, acceda ahttp://www.elink.ibmlink.ibm.com/public/applications/publications/cgibin/ pbi.cgi?CTY=US&&FNC=ICL&

y seleccione DB2 Everyplace Information Center (Centro de informacin de DB2 Everyplace).

10

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

DesarrolloEste captulo proporciona informacin para ayudarle a desarrollar aplicaciones y procedimientos almacenados para DB2 Everyplace. Tambin describe cmo utilizar WebSphere Studio Device Developer y ejecutar aplicaciones de ejemplo.

Herramientas de desarrolloLas siguientes herramientas y aplicaciones de ejemplo le ayudarn a desarrollar aplicaciones para DB2 Everyplace. WebSphere Studio Device Developer WebSphere Studio Device Developer (WSDD) proporciona un entorno de desarrollo integrado (IDE) para crear, probar y desplegar aplicaciones Java 2 Micro Edition (J2ME) que se ejecutan en dispositivos inalmbricos como, por ejemplo, telfonos mviles, agendas personales electrnicas (PDA) y ordenadores de mano. Puede descargar una versin de prueba en http://www.ibm.com/software/wireless/wsdd/ Cuando utilice WSDD, tambin puede utilizar el plug-in de IBM DB2 Everyplace, que proporciona caractersticas que facilitan el desarrollo de aplicaciones para plataformas y dispositivos soportados por DB2 Everyplace. Para obtener informacin detallada, vaya a http://www.ibm.com/software/data/db2/everyplace/eclipse.html. WSDD utiliza J9 VM, que es posible que no soporte el tipo de procesador de su dispositivo. Si utiliza otro entorno de desarrollo y una JVM, asegrese de que la JVM soporte la JNI, puesto que el controlador JDBC de DB2 Everyplace usa la JNI. Otras JVM compatibles incluyen Sun PersonalJava, Insignia Jeode y NSIcom CrEme. Si el destino es Palm OS, deber utilizar la mquina virtual J9 que se proporciona con WSDD. Para obtener ms informacin y descargar una versin de evaluacin de WSDD, vaya a http://www.ibm.com/software/wireless/wsdd/index.html. Debido a cambios en el mecanismo de carga de la biblioteca compartida de Palm para J9, las distintas versiones de DB2 Everyplace slo son compatibles con versiones especficas de WSDD/J9: v DB2 Everyplace Versin 8.2 da soporte a WSDD 5.7/J9 2.2. Nota: J9 2.2 slo da soporte a jclMidp20 para Palm OS 5. Puesto que J9 2.2 ya no da soporte a jclXtr, DB2 Everyplace Versin 8.2 tampoco le da soporte. v El plug-in Versin 1.0.3 de Eclipse para DB2 Everyplace incluye soporte para WSDD 5.6/J9 2.1. v DB2 Everyplace Versin 8.1.4 da soporte a WSDD 5.5/J9 2.0. DB2 Everyplace Mobile Application Builder Puede desarrollar aplicaciones para DB2 Everyplace en una estacin de trabajo con herramientas de desarrollo C/C++ y Java disponibles como DB2 Everyplace Mobile Application Builder. Esta herramienta permite crear y probar aplicaciones para DB2 Everyplace en dispositivos porttiles. Puede descargar Mobile Application Builder de http://www.ibm.com/software/data/db2/everyplace/index.html.

Copyright IBM Corp. 1998, 2004

11

WebSphere Studio Device DeveloperInstalacin de WCE Tooling para WSDD para destinos que no sean Palm OSEsta tarea forma parte de la tarea principal de Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos que no sean Palm OS. Despus de completar estos pasos, vuelva al apartado Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos que no sean Palm OS en la pgina 411. 1. En WSDD, pulse Help (Ayuda) Software Updates (Actualizaciones de software) Update Manager (Gestor de actualizacin) para abrir la perspectiva Install/Update (Instalar/Actualizar). 2. Utilice Update Manager para instalar las siguientes caractersticas: v SMF Bundle Development Kit 5.7.0 v Extension Services 5.7.0 v JSR 169 (BETA) para Extension Services 5.7.0 El proyecto de ejemplo de DB2 Everyplace slo necesita la caracterstica JSR 169; no obstante, las otras dos caractersticas son necesarias para la caracterstica JSR 169. 3. En la vista Feature Updates (Actualizaciones de caractersticas) de la perspectiva Install/Update (Instalar/Actualizar), pulse Sites to Visit (Sitios a visitar) IBM Micro Environment Toolkit for WebSphere Studio Extension Services For WebSphere Everyplace. 4. Para cada una de las caractersticas seleccionadas anteriormente, seleccione la caracterstica y pulse Install (Instalar) en la vista Preview (Vista previa). 5. Siga las instrucciones de instalacin para instalar la caracterstica. Vuelva a Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos que no sean Palm OS en la pgina 411.

Creacin de un proyecto de WSDD para DB2eAppl.java para destinos Palm OSPuede utilizar el controlador JDBC de DB2 Everyplace para Palm OS con la biblioteca de clases de J9 jclMidp20. El proyecto de ejemplo DB2eAppl para Palm OS utiliza la biblioteca de clases de J9 jclMidp20. Puesto que el archivo jdbc.jar de J9 definido por JSR 169 no es compatible con jclMidp20, el soporte para el paquete java.sql en Palm OS se incluye en DB2eJDBC.jar y DB2eJDBC.prc en el directorio %DSYINSTDIR%\Clients\palmos\database\JDBC\midp20. DB2eJDBC.jar se utiliza en la va de acceso a clases al compilar aplicaciones JDBC, y DB2eJDBC.prc, que incluye el paquete java.sql, se instala en el simulador o en el dispositivo Palm. Esta tarea forma parte de la tarea principal de Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos Palm OS. Despus de llevar a cabo estos pasos, vuelva a Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos Palm OS. 1. En WSDD, pulse Window (Ventana) Open (Abrir) Perspective (Perspectiva) Java para pasar a la perspectiva Java. 2. Pulse File (Archivo) New (Nuevo) Other (Otro). 3. Cree un proyecto para el ejemplo en Palm: a. En la pgina Select (Seleccionar) de la ventana New Project (Nuevo proyecto), seleccione J2ME en el panel izquierdo, seleccione MIDlet Suite en el panel derecho y, a continuacin, pulse Next (Siguiente).

12

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

b. En la pgina MIDlet Suite Creation (Creacin de MIDlet Suite) de la ventana New Project (Nuevo proyecto), escriba lo que se indica a continuacin y pulse Next (Siguiente). v Project (slo MIDP): DB2Everyplace-Sample-midp20 v MIDlet Suite Name: DB2eApplSuite v MIDlet Name: DB2eAppl v MIDlet class Name: DB2eAppl c. En la pgina Select J9 (Seleccionar J9) de la ventana New project (Nuevo proyecto), seleccione ive-2.2 y pulse Finish (Finalizar). Vuelva a Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos Palm OS en la pgina 411.

Creacin de un proyecto WSDD y adicin de archivos jar a la va de acceso de creacin para DB2eAppl.java para destinos que no sean Palm OSRequisitos previos: El proyecto de ejemplo DB2eAppl para destinos que no sean Palm OS utiliza la biblioteca de clases de J9 jclFoundation. Para el soporte del paquete java.sql, utiliza el archivo jdbc.jar de J9 definido por JSR 169. Esta tarea forma parte de la tarea principal de Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos que no sean Palm OS. Despus de completar estos pasos, vuelva al apartado Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos que no sean Palm OS en la pgina 411. 1. En WSDD, pulse Window Open Perspective (Abrir perspectiva) Java para pasar a la perspectiva Java. 2. Cree el proyecto para el ejemplo: a. Pulse File (Archivo) New (Nuevo) Other (Otro). b. En la pgina Select (Seleccionar) de la ventana New Project (Nuevo proyecto), seleccione J2ME en el panel izquierdo, seleccione el proyecto J2ME en el panel derecho y despus pulse Next (Siguiente). c. En la pgina J2ME Project (Proyecto J2ME) de la ventana New Project (Nuevo proyecto), escriba DB2Everyplace-Sample como nombre de proyecto y pulse Next (Siguiente). d. En la pgina Library selection (Seleccin de biblioteca) de la ventana New Project (Nuevo proyecto), expanda 2.2.0, seleccione JCL Foundation 1.0 y, a continuacin, pulse Next (Siguiente). e. En la pgina Java Settings (Valores de Java) de la ventana New Project (Nuevo proyecto), pulse la pestaa Libraries (Bibliotecas). 3. Aada db2ejdbc.jar a la va de acceso de creacin: a. Pulse Add External JARs (Aadir JAR externos). b. En la ventana JAR Selection (Seleccin de JAR), navegue a %DSYINSTDIR%\Clients\Win32\database\jdbc\db2ejdbc.jar y despus pulse Open (Abrir). 4. De vuelta en la pgina Java Settings (Valores de Java), aada jdbc.jar a la va de acceso de creacin. a. Pulse Add Variable (Aadir variable).

Desarrollo

13

b. En la ventana New Variable Classpath Entry (Nueva entrada de variable Classpath), seleccione la variable ESWE_BUNDLES y pulse Extend (Ampliar). c. En la ventana Variable Extension (Ampliacin de variable), seleccione jdbc.jar y pulse OK (Bien). 5. De vuelta en la pgina Java Settings (Valores de Java) de la ventana New Project (Nuevo proyecto), pulse Finish (Finalizar). Vuelva a Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos que no sean Palm OS en la pgina 411

Instalacin y verificacin del proveedor de sincronizacin nativo basado en la deteccinEl proveedor de sincronizacin nativo basado en la deteccin requiere las siguientes bibliotecas compartidas nativas de Sync Client y las bibliotecas de DB2 Everyplace: v isyncore.prc v v v v v v v isyncconf.prc imsaconfig.prc imsafile.prc imsadb2e.prc wbxmllib.prc isyncxpt.prc isyncstat.prc

Adems, es necesario instalar los binarios de JVM de J9 Palm OS en el dispositivo. Si la aplicacin est utilizando el proveedor de sincronizacin nativa basada en la deteccin, debe importar los paquetes isync4j de Java siguientes: v com.ibm.mobileservices.isync v com.ibm.mobileservices.isync.db2e.sti v com.ibm.mobileservices.isync.event v com.ibm.mobileservices.isync.sql Verifique si el software siguiente est instalado en el sistema: v Palm OS Versin 3.5 o posteriores (con un mnimo de ocho MB de memoria) v WebSphere Studio Device Developer (WSDD) Versin 4.0 o posterior v Base de datos porttil DB2 Everyplace para Palm OS Versin 7.1 o posterior v Bibliotecas de DB2 Everyplace Sync Client Versin 8.1 o posteriores Despus de haber instalado WSDD, debe configurar un destino Palm OS. Para configurar un destino Palm OS, consulte el captulo titulado Getting Started with Palm OS Targets de la publicacin WSDD Development Environment & Tools Product Documentation. La documentacin de WSDD est ubicada en el CD-ROM del producto en IBM\wsdd\wsdd4.0\doc\wsddCustomer.pdf. Finalmente, verifique que WSDD est bien instalado creando y ejecutando una aplicacin de ejemplo de WSDD. El proveedor de sincronizacin nativo basado en la deteccin slo se utiliza con WebSphere Studio Device Developer J9 JVM en plataformas Palm OS.

14

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

En este tema se describe cmo se puede utilizar isync4j de DB2 Everyplace para Palm OS con la configuracin jclMidp de la J9 (J2ME MIDP). Este proveedor de sincronizacin hace referencia al paquete com.ibm.oti.palmos, por lo que slo se ejecutar en WSDD J9 JVM para PalmOS v1.5 o superiores. La tabla siguiente describe el lugar en el que estn ubicados los programas que se utilizan para instalar la API en dispositivos Palm, donde %DSYINSTDIR% representa el directorio de instalacin correspondiente a DB2 Everyplace.Directorio %DSYINSTDIR%/Clients/PalmOS/Sync/isync4jpalm/lib %DSYINSTDIR%/Clients/PalmOS/Sync/isync4jpalm/sample %DSYINSTDIR%/Clients/PalmOS/Sync/isync4jpalm/bin/db2sync.prc Descripcin La carpeta que contiene isync4j para clases Java de Palm OS. Estas clases se importan durante la implementacin. La carpeta que contiene el cdigo fuente para la aplicacin isync4j de ejemplo. La aplicacin isync4j de ejemplo utilizada con la biblioteca CLDC de J9 Palm OS.

1. Cree un nuevo proyecto para la aplicacin de ejemplo de isync4j: a. Abra la perspectiva Java en WSDD. b. Seleccione File (Archivo) New (Nuevo) Other (Otro). c. Seleccione el asistente para J2ME para J9 y Create MIDlet Suite. d. Asigne un nombre al proyecto personalizado, nombre de MIDlet, y nombre de clase de MIDlet en el dilogo MIDlet Suite Creation. e. Pulse Next (Siguiente). f. Vuelva a pulsar Next (Siguiente) para ir a Java Settings (Valores de Java). g. En Java Settings (Valores de Java), pulse la pestaa Libraries (Bibliotecas) y pulse Create Folder... (Crear carpeta...). h. Escriba lib en el dilogo New Class Folder (Nueva carpeta de clase). i. Pulse Finish (Finalizar). 2. Importe las clases Java ISYNC4J de DB2 Everyplace y configure la va de acceso de creacin. a. Pulse el proyecto en la vista Packages (Paquetes) y, a continuacin, pulse el elemento de men File (Archivo) Import... (Importar...) b. Importe la carpeta %DSYINSTDIR%/Clients/PalmOS/Sync/isync4jpalm/lib y seleccione %DSYINSTDIR%/Clients/PalmOS/Sync/isync4jpalm/lib como directorio de origen. c. Expanda el directorio lib y seleccione el recuadro de seleccin correspondiente al directorio com en lib. En Select the destination for imported resources: (Seleccione el destino para los recursos importados), escriba el nombre del proyecto seguido de /lib en el campo Folder: (Carpeta). Por ejemplo, si el nombre del proyecto es DB2Sync, el campo deber contener DB2Sync/lib. d. Pulse Finish (Finalizar). e. Expanda la carpeta lib. Deber ver los siguientes paquetes ISYNC4J de Java: com.ibm.mobileservices.isync com.ibm.mobileservices.isync.db2e.sti com.ibm.mobileservices.isync.event com.ibm.mobileservices.isync.sql 3. Verifique la configuracin de la biblioteca isync4j creando y ejecutando la aplicacin de ejemplo.Desarrollo

15

a. Importe la aplicacin de ejemplo. v Pulse la carpeta src correspondiente al proyecto en la vista Packages (Paquetes) y despus pulse File (Archivo) Import (Importar) en el men principal. v Importe DB2Sync.java. Seleccione %DSYINSTDIR%/Clients/PalmOS/Sync/isync4jpalm/samples/DB2Sync/ como directorio de origen y, a continuacin, seleccione el recuadro de seleccin correspondiente a DB2Sync.java. Verifique que el destino de los recursos importados sea /src. b. Cree un archivo de construccin para la aplicacin de ejemplo. v En el editor, pulse la pestaa in/exclusion (in/exclusin) y luego New (Nuevo). v Especifique DB2Sync como clase principal y seleccione J9 for Palm 68k como plataforma. Pulse Next (Siguiente). v Escriba el ID de creador y DB2Sync como App Name (Nombre de aplicacin). Pulse Next (Siguiente) dos veces. v Seleccione Prc Application on PalmOS emulator. Pulse Finish (Finalizar). 4. Modifique el archivo DB2Sync.jxeLinkOptions. a. Expanda la carpeta palm68k del proyecto en la vista Packages. b. Realice una doble pulsacin sobre DB2Sync.jxeLinkOptions. c. En el editor, pulse la pestaa in/exclusion (in/exclusin) y luego New (Nuevo). d. Escriba com.ibm.mobileservices.isync.db2e.sti.DB2eISyncProvider como Rule pattern (Patrn de regla) y luego pulse OK (Bien). e. En el editor, pulse la pestaa source (fuente) f. Escriba -vmOption -ms:15 para establecer el tamao de pila. g. Guarde los cambios efectuados. 5. Ejecute la aplicacin de ejemplo. a. Pulse el icono Run (Ejecutar) del men y, a continuacin, seleccione Run (Ejecutar) Build (Creacin) Launch (Iniciar) en el archivo de creacin. b. Seleccione el destino para la aplicacin de ejemplo y pulse Finish. c. Si no hay ningn error, el emulador de Palm OS debe comenzar y ejecutar la aplicacin. Ahora puede crear su propia aplicacin. Cuando cree una aplicacin nueva, incluya un nombre de proyecto nuevo para isync4j de DB2 Everyplace en la va de acceso de construccin del proyecto. Una vez que cree un archivo de construccin para la aplicacin, modifique el archivo jxeLinkOptions del mismo de forma que se ajuste a las necesidades de la aplicacin.

Importacin de DB2eAppl.java a WSDD para Palm OSEsta tarea forma parte de la tarea principal de Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos Palm OS. Despus de completar estos pasos, vuelva al apartado Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos Palm OS en la pgina 411. 1. En la vista Package Explorer (Explorador de paquetes) de la perspectiva Java, pulse el botn derecho del ratn en la carpeta src del proyecto DB2Everyplace-Sample-midp20 y despus pulse Import (Importar) en el men emergente.

16

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

2. En la pgina Select (Seleccionar) de la ventana Import (Importar), seleccione Sistema de archivos (File System) como fuente de importacin y despus pulse Next (Siguiente). 3. En la pgina File system (Sistema de archivos) de la ventana Import (Importar), pulse Browse (Examinar) para el campo From directory (Desde directorio). 4. Navegue a la carpeta %DSYINSTDIR%\Clients\PalmOS\database\JDBC\midp20\sample y, a continuacin, pulse OK (Bien). 5. Seleccione el recuadro de seleccin DB2eAppl.java del panel derecho y despus pulse Finish (Finalizar). 6. Pulse Yes (S) cuando se le pregunte si desea sobregrabar DB2eAppl.java en la carpeta DB2Everyplace-Sample-midp20\src\. Vuelva a Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos Palm OS en la pgina 411.

Importacin de DB2eAppl.java a WSDD para destinos que no sean Palm OSEsta tarea forma parte de la tarea principal de Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos que no sean Palm OS. Despus de completar estos pasos, vuelva al apartado Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos que no sean Palm OS en la pgina 411. 1. En la vista Package Explorer (Explorador de paquetes) de la perspectiva Java, expanda el proyecto DB2 Everyplace Sample, seleccione la carpeta src y, a continuacin, pulse File (Archivo) Import (Importar). 2. En la pgina Select (Seleccionar) de la ventana Import (Importar), seleccione File System (Sistema de archivos) como fuente de importacin y despus pulse Next (Siguiente). 3. En la pgina File System (Sistema de archivos) de la ventana Import (Importar), pulse Browse (Examinar) para el campo From directory (Desde directorio), navegue a la carpeta %DSYINSTDIR%\Clients\Win32\database\jdbc y despus pulse OK (Bien). 4. De vuelta en la pgina File System (Sistema de archivos) de la ventana Import (Importar), seleccione el recuadro de seleccin DB2eAppl.java del panel derecho y pulse Finish (Finalizar). Despus de importar DB2eAppl.java, deber ver un error en la vista Tasks (Tareas). 5. Expanda la carpeta src correspondiente al proyecto en la vista Package Explorer (Explorador de paquetes) hasta que vea DB2eAppl.java. 6. Efecte una doble pulsacin sobre DB2eAppl.java para abrir el archivo en un editor. El ejemplo DB2eAppl.java se ha diseado para poder obtener una conexin utilizando la clase DriverManager o bien la interfaz DataSource. No obstante el ejemplo no se podr compilar en este entorno, puesto que el archivo jdbc.jar de especificado en la variable de entorno CLASSPATH no soporta DriverManager (de acuerdo con la especificacin JSR 169). 7. Para solucionar el problema anterior, sustituya las siguientes lneas de cdigo:try { Class.forName("java.sql.DriverManager"); Class.forName("com.ibm.db2e.jdbc.DB2eDriver"); con = DriverManager.getConnection(url); //Paso 2a } catch (ClassNotFoundException e) {

Desarrollo

17

com.ibm.db2e.jdbc.DB2eDataSource ds = new com.ibm.db2e.jdbc.DB2eDataSource(); ds.setUrl(url); con = ds.getConnection(); //Paso 2b }

por estas lneas de cdigo:com.ibm.db2e.jdbc.DB2eDataSource ds = new com.ibm.db2e.jdbc.DB2eDataSource(); ds.setUrl(url); con = ds.getConnection(); //Paso 2b

Vuelva a Compilacin y ejecucin de aplicaciones Java de ejemplo en destinos que no sean Palm OS en la pgina 411

Desarrollo de aplicaciones C/C++Este captulo proporciona informacin para ayudarle a desarrollar aplicaciones utilizando C o C++. Describe detalladamente cmo utilizar la CLI (Call Level interface) y la API C de IBM Sync Client.

Desarrollo de aplicaciones C/C++ de DB2 EveryplaceRequisito previo: Instale DB2 Everyplace en la estacin de trabajo de desarrollo. Para desarrollar aplicaciones de DB2 Everyplace en C/C++ utilizando la interfaz DB2 Everyplace CLI: 1. Defina la aplicacin y sus requisitos de datos: Determine qu datos necesitar ver o cambiar el usuario final, y cmo se recuperarn, almacenarn y actualizarn los datos en la base de datos porttil DB2 Everyplace. 2. Conozca la interfaz DB2 CLI y determine qu funciones de DB2 CLI se deben utilizar en la aplicacin. 3. Escriba un programa de aplicacin C/C++ utilizando las funciones de DB2 CLI soportadas en DB2 Everyplace. 4. Prepare, compile y enlace el cdigo de aplicacin con los archivos de cabecera y la biblioteca de sistema operativo de DB2 Everyplace. 5. Pruebe la aplicacin: a. Copie las bibliotecas DB2 Everyplace en el emulador o dispositivo de su sistema operativo. b. Pruebe la aplicacin en un dispositivo o emulador, si es apropiado.

Preparacin, compilacin y enlace de un proyecto C/C++Esta tarea forma parte de la tarea ms amplia del Desarrollo de aplicaciones de DB2 Everyplace utilizando C/C++. Al completar los pasos para Preparar, compilar y enlazar un proyecto C/C++, vuelva a Desarrollo de aplicaciones C/C++ de DB2 Everyplace. 1. Cree un archivo de proyecto. Este procedimiento vara en funcin de las herramientas de desarrollo y del sistema operativo para el que se est realizando el desarrollo. 2. Incluya en el proyecto los archivos de cabecera de DB2 Everyplace siguientes. Los archivos de cabecera contienen las constantes, tipos de datos y prototipos de funcin C/C++ que se proporcionan con DB2 Everyplace. Los archivos de cabecera son los siguientes:

18

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

%DSYINSTDIR%\Clients\include\sqlcli.h %DSYINSTDIR%\Clients\include\sqlcli1.h %DSYINSTDIR%\Clients\include\sqlext.h %DSYINSTDIR%\Clients\include\sqlsystm.h 3. Incluya los archivos de cabecera especficos para su aplicacin. 4. Incluya en el proyecto la biblioteca de DB2 Everyplace apropiada. 5. Opcional: Defina la macro UNICODE y _UNICODE en el archivo del proyecto para obtener el soporte de UNICODE. Consulte el apartado Soporte para UNICODE de DB2 Everyplace en la pgina 384 para obtener ms informacin sobre UNICODE 6. Compile el proyecto y enlace el cdigo de objeto con la biblioteca de DB2 Everyplace apropiada. Muchas de las herramientas de desarrollo de aplicaciones proporcionan la compilacin y el enlace automticos desde dentro de un entorno de desarrollo integrado. Para obtener informacin adicional acerca de cmo compilar y enlazar un proyecto, consulte la documentacin que se incluye con el software de desarrollo de aplicaciones. La tabla siguiente es un resumen de las bibliotecas de DB2 Everyplace y lista informacin adicional correspondiente a cada sistema operativo.Tabla 2. Bibliotecas de DB2 Everyplace Sistema operativo Palm OS Archivos de biblioteca necesarios e informacin adicional %DSYINSTDIR%\clients\palmos\database\DB2e.libOpcional: Aumente el tamao de la pila de ejecucin de programas hasta 8 KB. El valor por omisin es de 4 KB. Las aplicaciones para Palm OS tienen un tamao predefinido limitado para la pila de ejecucin de programas de la aplicacin. Dependiendo de la aplicacin, puede tener un problema de desbordamiento de pila cuando ejecute el programa. Para evitar este problema, especifique un tamao de pila mayor en el archivo palm-pref.r, que se incluye con DB2 Everyplace. Siga las instrucciones del archivo palm-pref.r e incluya este archivo en el archivo del proyecto. Si est desarrollando una aplicacin utilizando PRC-Tools, aada stack=0x8000 al archivo .def para su aplicacin. Por ejemplo: application {MyApplicationName APID stack=0x8000 } Symbian OS Aplicaciones de emulador: %DSYINSTDIR%\clients\Symbian7\database\wins\DB2e.lib Aplicaciones de dispositivo: %DSYINSTDIR%\clients\Symbian7\database\armi\DB2e.lib

Desarrollo

19

Tabla 2. Bibliotecas de DB2 Everyplace (continuacin) Sistema operativo Windows CE Archivos de biblioteca necesarios e informacin adicional

Procesador ARM: v V3.00 %DSYINSTDIR%\clients\wince\database\v3\armrel\DB2e.lib v V4.00 %DSYINSTDIR%\clients\wince\database\v4\ARM4VRel\DB2e.lib Procesador MIPS: v V3.00 %DSYINSTDIR%\clients\wince\database\v3\mipsrel\DB2e.lib v V4.00 %DSYINSTDIR%\clients\wince\database\v4\MIPSIVRel\DB2e.lib Emulador de Windows CE: v V3.00 %DSYINSTDIR%\clients\wince\database\v3\x86emrel\DB2e.lib (par el emulador de Pocket PC) %DSYINSTDIR%\clients\wince\database\v4\x86rel\DB2e.lib (para el emulador de Pocket PC 2002) v V4.00 %DSYINSTDIR%\clients\wince\database\v4\emulatorRel\DB2e.lib (para el emulador de WinCE.NET) Compruebe que se haya habilitado UNICODE para el proyecto. Aada UNICODE y _UNICODE a la Definicin de preprocesador de la Configuracin del proyecto. Procesador XScale: v v4.00 %DSYINSTDIR%\clients\wince\database\v4\XScaleRel\DB2e.lib

Windows Neutrino

%DSYINSTDIR%\clients\Win32\database\x86\DB2e.lib libdb2e.so Este archivo est ubicado en el directorio %DSYINSTDIR%/clients/neutrino/database/proc.

Linux

libdb2e.so Este archivo est ubicado en el directorio %DSYINSTDIR%/Clients/Linux/database/proc.

Prueba de una aplicacin C/C++Esta tarea forma parte de la tarea ms amplia del Desarrollo de aplicaciones de DB2 Everyplace utilizando C/C++. Al completar los pasos para probar una aplicacin C/C++, vuelva a Desarrollo de aplicaciones C/C++ de DB2 Everyplace en la pgina 18. 1. Copie las bibliotecas DB2 Everyplace en el emulador o dispositivo de su sistema operativo. Sin estos archivos, una aplicacin de DB2 Everyplace no se cargar. La tabla siguiente es un resumen de los archivos de DB2 Everyplace necesarios para cada sistema operativo.

20

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

Tabla 3. Archivos de DB2 Everyplace necesarios para las pruebas Sistema operativo Palm OS Archivos necesarios en el dispositivo o emulador %DSYINSTDIR%\clients\palmos\database\DB2eCat.prc %DSYINSTDIR%\clients\palmos\database\DB2eCLI.prc %DSYINSTDIR%\clients\palmos\database\DB2eComp.prc %DSYINSTDIR%\clients\palmos\database\DB2eRunTime.prc %DSYINSTDIR%\clients\palmos\database\DB2eDMS.prc Symbian OS Para pruebas de emuladores, copie el archivo %DSYINSTDIR%\clients\symbian7\database\wins\DB2e.dll en cada uno de los directorios de emulador siguientes: \EPOCROOT%EPOC32\Release\wins\udeb\(para un emulador de depuracin) \EPOCROOT%EPOC32\Release\wins\urel\(para un emulador de liberacin) Para probar el dispositivo, instale el archivo siguiente utilizando el software de conexin PC Suite: %DSYINSTDIR%\clients\symbian7\database\armi\DB2e.sis Windows CE Instale la biblioteca apropiada para su sistema operativo. Procesador ARM: v V3.00 %DSYINSTDIR%\clients\wince\database\v3\armrel\DB2e.dll Procesador MIPS: v V3.00 %DSYINSTDIR%\clients\wince\database\v3\mipsrel\DB2e.dll Emulador de Windows CE: v V3.00 Para un emulador de Pocket PC: %DSYINSTDIR%\clients\wince\database\v3\x86emrel\DB2e.dll Para un emulador de Pocket PC 2002: %DSYINSTDIR%\clients\wince\database\v3\x86rel\DB2e.dll Windows Copie %DSYINSTDIR%\clients\win32\database\x86\DB2e.dll en el directorio actual de la aplicacin en la variable de entorno PATH del sistema. $DSYINSTDIR/database/x86/libdb2e.so(para el tipo de procesador x86) y $DSYINSTDIR/database/strongarm/libdb2e.so(para el tipo de procesador strongarm) $DSYINSTDIR/database/x86/libdb2e.so(para el tipo de procesador x86) y $DSYINSTDIR/database/strongarm/libdb2e.so(para el tipo de procesador strongarm)

Neutrino

Linux

2. Para Linux y Neutrino: Aada libdb2e.so a la va de acceso de bsqueda de biblioteca, utilizando uno de los mtodos siguientes: v Copie libdb2e.so en un directorio que est en la va de acceso de bsqueda de biblioteca. Es posible que esta accin requiera permisos root. v Copie libdb2e.so en otro directorio y aada dicho directorio a la va de acceso de bsqueda de biblioteca. Aadir un directorio a la va de acceso de bsqueda de biblioteca de modo permanente requiere una entrada en /etc/ld.config. Se puede aadir temporalmente un directorio a la va de acceso de bsqueda de biblioteca estableciendo la variable de entorno LD_LIBRARY_PATH del modo apropiado.Desarrollo

21

Por ejemplo, escriba el mandato siguiente (este mandato slo funciona en bash, con libdb2e.so en el directorio actual): export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:, donde es el directorio en el que se encuentra libdb2e.so. 3. Cargue los archivos de la aplicacin que est probando. 4. Pruebe la aplicacin.

Aplicaciones C/C++ de ejemploSe proporciona, como mnimo, una aplicacin C/C++ de ejemplo para cada sistema operativo. Consulte el directorio de cliente apropiado para ver todas las aplicaciones de ejemplos con cdigo fuente.

Herramientas de desarrollo de C/C++Puede escribir una aplicacin C/C++ utilizando las funciones de DB2 CLI soportadas por DB2 Everyplace. Entre las herramientas de desarrollo estndar de C/C++ para los sistemas operativos soportados se encuentran las siguientes: Palm OS Se puede utilizar: v DB2 Everyplace Mobile Application Builder. Para obtener informacin sobre Mobile Application Builder, visite el sitio Web de DB2 Everyplace en la direccin http://www.ibm.com/software/data/db2/everyplace/ v Software Developers Kit de GNU. v Metrowerks CodeWarrior para Palm Computing Platform. Este entorno de desarrollo comercial le permite crear programas C/C++ para el sistema operativo Palm OS utilizando una estacin de trabajo Windows. Recomendacin: Registre los ID de creador de aplicacin en Palm, Inc. para evitar conflictos con otras aplicaciones para Palm OS. Las tablas y aplicaciones de DB2 Everyplace tienen ID de creador, cuyo formato es IBDB o DB2x, donde x es una letra de la a a la z. Para obtener ms informacin sobre los ID de creador, visite el sitio Web siguiente: http://www.palmos.com/dev/ Symbian OS Se puede utilizar: v CodeWarrior para Symbian OS v Borland C++ BuilderX Mobile o Mobile Studio v Microsoft Visual C++ 6 junto con el correspondiente SDK (Software Developers Kit) de Symbian para desarrollar sus aplicaciones. Recomendacin: Obtenga los UID de Symbian OS para incluir en el archivo de proyecto. Puede conseguir estos ID de SDK o en el sitio Web siguiente: http://www.symbian.com/developer/techlib/papers/tn_uid/uidinfo.html Windows CE Puede utilizar Microsoft Embedded Visual Tools 3.0 para desarrollar sus aplicaciones para Pocket PC 2000/2002. Puede utilizar Microsoft Embedded Visual Tools 4.0 para desarrollar aplicaciones C/C++ nativas

22

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

para .NET. Para los dispositivos Pocket PC 2003 y .NET, utilice Microsoft Visual Studio .NET 2003 para desarrollar aplicaciones gestionadas para Compact Framework. Sistemas operativos Windows NT y Windows 2000 Puede utilizar Microsoft Visual C++ para desarrollar sus aplicaciones. Puede utilizar Microsoft Visual Studio .NET para desarrollar aplicaciones gestionadas para .NET. QNX Neutrino Puede utilizar Metrowerks Codewarrior for QNX Neutrino o QNX Neutrino Software Developers Kit (SDK) para desarrollar sus aplicaciones. Linux Puede utilizar las herramientas de desarrollo entre plataformas de distribucin de Linux incorporadas para desarrollar las aplicaciones. El kernel de Linux incorporado necesita disponer de soporte para los binarios ELD habilitados. Si desarrolla la aplicacin en un sistema con la misma arquitectura que el sistema de destino, tambin puede utilizar las herramientas C/C++ de GNU.

Sistemas operativos que dan soporte a C/C++La interfaz C/C++ est totalmente soportada en los sistemas operativos siguientes: v Palm OS v Symbian OS v Windows CE para Pocket PC v Windows (Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows 2003) v QNX Neutrino v Linux y Linux incorporado

CLI (Interfaz de nivel de llamada)Este captulo proporciona informacin que le ayudar a desarrollar aplicaciones utilizando la CLI, una interfaz de programacin que las aplicaciones C y C++ pueden utilizar para acceder a bases de datos DB2 Everyplace.

Qu es la CLI?DB2 Everyplace CLI (interfaz de nivel de llamada) es la interfaz SQL invocable de IBM a la base de datos DB2 Everyplace. Es una interfaz de programas de aplicacin C y C++ para el acceso a bases de datos relacionales que utiliza llamadas a funciones para pasar sentencias de SQL dinmico como argumentos de funciones. DB2 Everyplace CLI se basa en DB2 Universal Database CLI, que se basa a su vez en la especificacin ** Open Database Connectivity** (ODBC) de Microsoft y en el estndar internacional para SQL/CLI. Estas especificaciones se eligieron como base para DB2 Everyplace CLI en un esfuerzo de seguir los estndares del sector y de proporcionar una curva de aprendizaje ms corta para los programadores que ya estn familiarizados con cualquiera de estas interfaces de base de datos. DB2 Everyplace CLI incluye soporte para muchas funciones de ODBC e ISO SQL/CLI, as como caractersticas especficas de DB2 Everyplace. Para entender qu es DB2 Everyplace CLI o cualquier interfaz de SQL invocable resulta til conocer en qu se basa y compararla con las interfaces existentes.Desarrollo

23

X/Open Company y SQL Access Group han desarrollado conjuntamente una especificacin para interfaz de SQL invocable conocida como X/Open Call Level Interface. El objetivo de esta interfaz es aumentar la portabilidad de las aplicaciones permitindoles ser independientes de cualquier interfaz de programacin de cualquier proveedor de bases de datos. La mayor parte de la especificacin X/Open Call Level Interface se ha aceptado como parte de la norma internacional ISO Call Level Interface (ISO/IEC 9075-3:1995 SQL/CLI). Microsoft(R) desarroll una interfaz de SQL invocable denominada Open Database Connectivity (ODBC) para los sistemas operativos Microsoft basada en un borrador preliminar de X/Open CLI. La especificacin ODBC tambin incluye un entorno operativo en el que un gestor de controladores basado en la fuente de datos (nombre de la base de datos) proporcionada en la peticin de conexin carga dinmicamente en tiempo de ejecucin los controladores ODBC especficos de la base de datos. La aplicacin se enlaza directamente con una sola biblioteca de gestor de controladores en lugar de hacerlo con la biblioteca de cada DBMS. El gestor de controladores transmite las llamadas de funcin de la aplicacin en tiempo de ejecucin y garantiza que se dirijan al controlador ODBC adecuado especfico del DBMS. Puesto que el gestor de controladores ODBC slo conoce las funciones especficas de ODBC, no se puede acceder a las funciones especficas del DBMS en un entorno ODBC. Las sentencias de SQL dinmico especficas del DBMS se soportan mediante una mecanismo denominado clusula de escape. ODBC no est limitado a los sistemas operativos Microsoft; hay otras implementaciones disponibles en diversas plataformas. El gestor de controladores ODBC puede cargar la biblioteca de DB2 Everyplace CLI como un controlador ODBC. Para el desarrollo de aplicaciones ODBC, se debe obtener un kit de desarrollo de software (Software Development Kit, SDK) de ODBC. Para la plataforma Windows(R), el SDK de ODBC est disponible como parte del SDK de Microsoft Data Access Components (MDAC), que se puede descargar de http://www.microsoft.com/data/. Para las plataformas distintas a Windows, el SDK de ODBC lo proporcionan otros proveedores. Al desarrollar aplicaciones ODBC que se conecten a bases de datos de DB2 Everyplace, utilice este manual (para obtener informacin sobre extensiones e informacin de diagnstico especficos de DB2 Everyplace), junto con el manual OBDC Programmers Reference and SDK Guide, que se puede obtener de Microsoft. Las aplicaciones escritas directamente en DB2 Everyplace CLI enlazan directamente con la biblioteca de DB2 Everyplace CLI.

Conexin a la base de datos porttil DB2 EveryplaceNormalmente, las aplicaciones crean tablas en una ubicacin especfica, por ejemplo, el directorio C:\TEMP, y acceden a ellas. Al conectarse a la base de datos porttil DB2 Everyplace, puede utilizar la siguiente llamada de CLI:rc = SQLConnect(hdbc, va-acceso, SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS);

En este ejemplo, va-acceso representa la va de acceso de la base de datos porttil DB2 Everyplace. La va de acceso puede incluir (aunque no es necesario) el nombre de la base de datos. Por lo tanto, los dos ejemplos siguientes son correctos, suponiendo que exista una base de datos porttil DB2 Everyplace en C:\TEMP.rc = SQLConnect(hdbc, "C:\\TEMP\\mi_base_datos", SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS); rc = SQLConnect(hdbc, "C:\\TEMP\\", SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS);

24

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

La conexin a memoria ampliada Sony Memory Stick en Palm OS requiere una especificacin de va de acceso especial, tal como muestra el ejemplo siguiente.rc = SQLConnect(hdbc, "#0:\\", SQL_NTS, uid, SQL_NTS, pwd, SQL_NTS);

Mediante el Procesador de lnea de mandatos, puede conectarse a una ubicacin especfica utilizando el mandato CONNECT TO. Por ejemplo, el mandato siguiente conecta a la base de datos porttil DB2 Everyplace en C:\TEMP\ en un sistema que ejecuta Windows:CONNECT TO C:\TEMP\

Recuperacin gradual de datos por medio de CLIHay dos formas en las que un usuario recupera datos procedentes de una tabla de DB2 Everyplace por medio de CLI: v La aplicacin puede optar por asignar la memoria mxima que puede ocupar el valor de columna (basndose en su conocimiento de una columna en el conjunto de resultados por medio de SQLDescribeCol() o un conocimiento previo) y vincularla por medio de SQLBindCol(). v La aplicacin puede llamar a SQLGetData() para obtener datos de columna en el almacenamiento intermedio asignado por la aplicacin. En el caso de los datos binarios (BLOB) o datos de carcter (CHAR o VARCHAR), la columna puede ser muy larga. Es posible que el desarrollador de aplicaciones no desee asignar un almacenamiento intermedio que sea lo suficientemente grande como para que contenga toda la columna o que no pueda permitirse asignar un almacenamiento intermedio tan grande. Adicionalmente, en algunos casos la aplicacin slo requiere algunos fragmentos de la columna. En estos escenarios, se necesita la recuperacin gradual de datos. Una caracterstica de SQLGetData() permite a la aplicacin utilizar llamadas repetidas para obtener, en secuencia, el valor de una nica columna en fragmentos ms manejables. Esencialmente, una llamada a SQLGetData() devuelve SQL_SUCCESS_WITH_INFO (con SQLSTATE 01004) para indicar que hay ms datos para esta columna. Se llama repetidamente a SQLGetData() para obtener los fragmentos de datos restantes hasta que devuelva SQL_SUCCESS, lo que significa que se han recuperado todos los datos para esta columna. La sintaxis es la siguiente:SQLRETURN SQLGetData ( SQLHSTMT SQLUSMALLINT SQLSMALLINT SQLPOINTER SQLINTEGER SQLINTEGER *FAR StatementHandle, ColumnNumber, TargetType, TargetValuePtr, BufferLength, StrLen_or_IndPtr); /* /* /* /* /* /* hstmt */ icol */ fCType */ rgbValue */ cbValueMax */ pcbValue */

Esta accin recuperar BufferLength bytes a la vez y StrLen_or_IndPtr indica el nmero de bytes restantes. El valor de retorno de la funcin es SQL_SUCCESS_WITH_INFO (con SQLSTATE 01004) si quedan bytes. En caso contrario, si el valor de retorno es SQL_SUCCESS, StrLen_or_IndPtr indica el nmero de bytes que DB2 Everyplace CLI tiene disponibles para volver al almacenamiento intermedio de TargetValuePtr. SQLGetData() puede utilizarse de este modo para recuperar columnas largas en el caso de que el tipo de datos C (TargetType) sea SQL_C_CHAR, SQL_C_BINARY o en el caso de que TargetType sea SQL_C_DEFAULT y el tipo de columna denote un binario o serie de caracteres.

Desarrollo

25

Para utilizar esta caracterstica de SQLGetData(), en primer lugar debe establecer un atributo de sentencia SQL_ATTR_GETDATA_MODE para SQL_PIECEMEAL_DATA. El valor por omisin de este atributo es SQL_CHUNK_DATA. La diferencia entre estas dos modalidades es que, en la modalidad SQL_CHUNK_DATA (que es la modalidad por omisin) y el momento en que se produce el truncamiento, el valor de retorno de SQLGetData() StrLen_or_IndPtr indica el nmero total de bytes de esta columna y la segunda llamada contina recuperando datos del principio de la columna.sqlrc = SQLSetStmtAttr(hstmt, SQL_ATTR_GETDATA_MODE, (SQLPOINTER) SQL_PIECEMEAL_DATA, 0); SQLCHAR * stmt = (SQLCHAR *) "SELECT blobColumn FROM t1 where c1 = ?"; sqlrc = SQLPrepare( hstmt, stmt, SQL_NTS ) ; sqlrc = SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, ...); sqlrc = SQLExecute( hstmt ) ; sqlrc = SQLFetch( hstmt ); /* obtener BUFSIZ bytes a la vez, bufInd indica el nmero de */ /* Bytes que quedan */ sqlrc = SQLGetData (hstmt, 1, SQL_C_BINARY, (SQLPOINTER) buffer, BUFSIZ, &bufInd); while( sqlrc == SQL_SUCCESS_WITH_INFO ) { // manejar BUFSIZ bytes de datos blob en almacenamiento intermedio : sqlrc = SQLGetData (hstmt, 1, SQL_C_BINARY, (SQLPOINTER) buffer, BUFSIZ, &bufInd); } if (sqlrc == SQL_SUCCESS) { /* almacenamiento intermedio en ltimo GetData */ // manejar bufInd bytes de datos blob en almacenamiento intermedio : }

Desarrollo de aplicaciones para DB2 Everyplace Sync Client utilizando C/C++Requisitos previos: Instale DB2 Everyplace en la estacin de trabajo de desarrollo. Este tema proporciona una visin general sobre cmo desarrollar aplicaciones de DB2 Everyplace Sync Client utilizando C/C++ basndose en la API C de IBM Sync Client. Para desarrollar aplicaciones para DB2 Everyplace Sync Client utilizando C/C++: 1. Defina la aplicacin de sincronizacin incluyendo: v los datos que sincronizar v las operaciones permitidas v los usuarios y grupos de usuarios v la seguridad de los datos (por ejemplo, el cifrado de datos sobre el cifrado de datos locales y por cable) 2. Incluya el archivo de cabecera de DB2 Everyplace Sync Client isyncore.h en los programas de aplicacin C y utilice las funciones de la API C de DB2 Everyplace Sync Client. 3. Prepare, compile y enlace el cdigo de la aplicacin con las bibliotecas del sistema operativo de DB2 Everyplace Sync Client, isyncconf e isyncore. 4. Pruebe la aplicacin: a. Instale las bibliotecas DB2 Everyplace en el emulador o dispositivo de su sistema operativo.

26

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

b. Pruebe la aplicacin en un emulador, si es apropiado. c. Pruebe la aplicacin en un dispositivo.

La aplicacin Sync Client C/C++ de ejemploEl ejemplo siguiente ilustra cmo utilizar un nmero seleccionado de funciones de la API de DB2 Everyplace Sync Client para crear una aplicacin. Puede descargar este ejemplo del sitio Web de DB2 Everyplace: http://www.ibm.com/software/data/db2/everyplace/. Encontrar ms ejemplos de cdigo fuente en %DSYINSTDIR$\Clients\clientapisample\C_API./******************************************************************/ /** * Esta funcin define la funcin de escucha de la sincronizacin. * Vea isyncore.h para obtener ms informacin. * parmetro: listenerData, datos personales del usuario. * parmetro: event, objeto de suceso * parmetro: pExtraInfo (reservado) * devolucin: entero, si el tipo de suceso es ISCEVTTYPE_Retry: * . ISCRTNCB_ReplyYes : reintentar menos de 3 veces * . ISCRTNCB_ReplyNo : reintentar 3 o ms veces * si el tipo de suceso es ISCEVTTYPE_Info: * . ISCRTNCB_Done * si tipo suceso es ISCEVTTYPE_Query y cdigo suceso es ISCEVT_QueLogin: * . ISCRTNCB_Done : nombusuario y contrasea entrados correctamente * . ISCRTNCB_Default : nombusuario y contrasea no entrados * otros (ISCEVTTYPE_Fatal, ISCEVTTYPE_Error, ISCEVTTYPE_Query * e ISCEVTTYPE_Conflict) * . ISCRTNCB_Default : emprender la accin por omisin **/ static isy_INT32 syncListener( isy_UINT32 listenerData, ISCEVT *event, isy_VOID *pExtraInfo) { // appEventCodeToMessage es alguna funcin de usuario para correlacionar // un suceso con algn mensaje descriptivo del suceso char *statusMsg = appEventCodeToMessage(event); int timesRetried; switch (event->type) { case ISCEVTTYPE_Fatal: case ISCEVTTYPE_Error: printf("Error: %s\n", statusMsg); return ISCRTNCB_Default ; case ISCEVTTYPE_Retry: timesRetried = event->retry; if (timesRetried >= 3) return ISCRTNCB_ReplyNo; else { char ans; printf("%s [Y/N] ", statusMsg); ans = getchar(); getchar(); if(tolower(ans) == y) return ISCRTNCB_ReplyYes; else return ISCRTNCB_ReplyNo; } case ISCEVTTYPE_Info: switch (event->code) { case ISCEVT_InfSucceeded: case ISCEVT_InfFailed: case ISCEVT_InfCanceled: printf("Conclusion: %s\n", statusMsg);Desarrollo

27

break; case ISCEVT_InfGeneral: case ISCEVT_InfCancelingSync: case ISCEVT_InfPrepMsg: case ISCEVT_InfSendMsg: case ISCEVT_InfWaitMsg: case ISCEVT_InfApplyMsg: printf("Status: %s\n", statusMsg); break; default: // ignore other event code break; } // switch (event->code) return ISCRTNCB_Done; case ISCEVTTYPE_Query: if (event->code == ISCEVT_QueLogin) { ISCLISTENARG *args = event->info; isy_TCHAR *target = args->argv[0]; // Es slo un ejemplo, no pretende estar libre de fugas de memoria. isy_TCHAR *username = (isy_TCHAR *) calloc(18, sizeof(isy_TCHAR)); isy_TCHAR *password = (isy_TCHAR *) calloc(254, sizeof(isy_TCHAR)); char c; int i; printf("Query on target data(%s): %s ...\n", target, statusMsg); // Solicitar el nombre de usuario printf("Username: "); for(i = 0; (c = getchar()) != \n; i++) username[i] = c; username[i] = \0; if (i == 0) return ISCRTNCB_Default; // nombusuario no entrado // Solicitar la contrasea printf("Password: "); for(i = 0; (c = getchar()) != \n; i++) password[i] = c; password[i] = \0; args->argv[1] = username; args->argv[2] = password; return ISCRTNCB_Done; } return ISCRTNCB_Default; // todos los otros tipos de suceso no importan default: return ISCRTNCB_Default; } // switch (event->type)

}

// Ejemplo de SyncClient #include "isyncore.h main() { isy_TCHAR user[] = isy_T("usuario1"); isy_TCHAR password[] = isy_T("contraea"); HISCSERV hServ; HISCCONF hConf; HISCENG hEngine; isy_INT32 rc; rc = iscConfigOpen(hServ, isy_T(".\isyncPath"), &hConf;); rc = iscEngineOpen(hConf, &hEngine;); iscEngineSetListener(hEngine, syncListener, NULL); iscEngineSyncConfig(hEngine); // obtener primero la configuracin rc = iscEngineSync(hEngine); // sincronizar config + conjuntos suscripcin if (rc == ISCRTN_Failed) { HISCCSR hCursor;

28

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

isy_TCHAR id[ISCLEN_SubsSetID]; isy_TCHAR name[ISCLEN_SubsSetName]; isy_INT32 enabled; iscConfigOpenCursor(hConf, &hCursor;); while (iscConfigGetNextSubsSet(hConf, hCursor, id, name) == ISCRTN_Succeeded) { enabled = iscConfigSubsSetIsEnable(hConf, id); if (enabled != ISCRTN_True) continue; // olvidar los que se han // inhabilitado rc = iscConfigGetSubsSetStatus(hConf, id); if (rc != ISCRTN_Succeeded) // En ese caso, la aplicacin puede tener cierto cdigo que // procese los conjuntos de suscripcin no satisfactorios aqu. // Para inhabilitar el conjunto de suscripcin, llame a: iscConfigDisableSubsSet(hConf, id); } iscConfigCloseCursor(hConf, hCursor); rc = iscEngineSync(hEngine); // sincronizar config + conjs. suscripcin

} // cerrar todos los descriptores iscEngineClose(hEngine); iscConfigClose(hConf); iscServiceClose(hServ); } // principal

Desarrollo de aplicaciones JavaEste captulo describe cmo desarrollar aplicaciones utilizando Java. Se centra en los temas siguientes: v JDBC v JNI v JSP

Desarrollo de aplicaciones Java para DB2 EveryplaceSi todava no lo ha hecho, instale Java y JDBC en la estacin de trabajo, puesto que las aplicaciones Java que acceden a DB2 Everyplace utilizan el controlador JDBC de DB2 Everyplace. Para desarrollar una aplicacin de DB2 Everyplace utilizando Java, puede utilizar Java Software Developers Kit junto con la interfaz JDBC (Java Database Connectivity) para Java de DB2 Everyplace. Para desarrollar aplicaciones Java para DB2 Everyplace: 1. Importe el paquete java.sql y cualquier otra clase de Java que sea necesaria. 2. Conctese a la base de datos utilizando la clase DriverManager o bien la interfaz DataSource. Para obtener informacin detallada, vea la aplicacin de ejemplo Java. La sintaxis del URL JDBC es jdbc:subprotocolo:subnombre. El subprotocolo de DB2 Everyplace es db2e. Restriccin: DB2 Everyplace no da soporte a la ejecucin de varias tareas en Symbian. Para poder acceder a una base de datos desde un segundo paso, el objeto de Conexin del primer paso se debe cerrar para que se pueda establecer la conexin en el segundo paso. Distintos pasos no pueden compartir el mismo objeto de Conexin.Desarrollo

29

3. Cree un objeto Statement. 4. Acceda a la base de datos (la lgica de la aplicacin va aqu): a. Ejecute una sentencia de SQL utilizando el objeto Statement. b. Recupere datos del objeto ResultSet devuelto (si la sentencia de SQL que ha ejecutado es una consulta). 5. Libere recursos de base de datos y JDBC cerrando los objetos ResultSet, Statement, y Connection.

Sincronizacin de Java de DB2 EveryplaceLos proveedores de sincronizacin de Java proporcionan la interfaz Java que invoca las bibliotecas de Java Sync Client. Hay dos tipos de proveedores de sincronizacin de Java de DB2 Everyplace: v Sincronizacin J2ME MIDP de DB2 Everyplace v DB2 Everyplace Java Sync Client para IBM Cloudscape Versin 10 en la pgina 31

Visin general de los proveedores de sincronizacin de Java de DB2 EveryplaceEn este tema se describe la API de Java Sync Client soportada por DB2 Everyplace. La API es un conjunto de bibliotecas que permiten que los programadores creen aplicaciones que sincronicen los datos entre DB2 Everyplace y bases de datos relacionales empresariales. Funciona junto con DB2 Everyplace Sync Server para simplificar la sincronizacin de archivos y datos relacionales. Sync Server permite la resolucin de conflictos y gestiona el movimiento de datos hacia dispositivos porttiles y desde dispositivos porttiles. La API de Sync Client Java consta de dos tipos de proveedores de sincronizacin: v Sincronizacin nativa de DB2 Everyplace en la pgina 33 v Sincronizacin de Java de DB2 Everyplace Encontrar documentacin sobre la API en %DSYINSTDIR%\doc\idioma\javadoc\SyncClientJavaAPI\, donde idioma representa un idioma como, por ejemplo, es_ES. En los archivos de ejemplo se brinda informacin sobre cmo crear aplicaciones Java en el dispositivo cliente basndose en estos proveedores.

Sincronizacin J2ME MIDP de DB2 EveryplaceJ2ME MIDP ISync Client permite crear aplicaciones que sincronizan suscripciones con el MIDP Record Store Management System (RMS). J2ME MIDP ISync Client es un conjunto de bibliotecas que colaboran con DB2 Everyplace Sync Server para simplificar la sincronizacin de datos relacionales entre bases de datos empresariales y dispositivos habilitados para MIDP 1.0. Sync Server gestiona el movimiento de datos a y desde el dispositivo MIDP. Puede descargar DB2 Everyplace J2ME MIDP ISync Client de http://www.ibm.com/software/data/db2/everyplace/support.html/ pulsando el enlace DB2 Everyplace samples (Ejemplos de DB2 Everyplace). Este tema incluye la informacin siguiente sobre el J2ME MIDP ISync Client: v Software de servidor Web necesario para instalar el J2ME MIDP ISync Client

30

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

v Software y hardware necesario para ejecutar el J2ME MIDP ISync Client en telfonos Motorola iDEN v Diseo del directorio de instalacin de J2ME MIDP ISync Client Software de servidor Web necesario para instalar el J2ME MIDP ISync Client Para poder instalar el J2ME MIDP ISync Client, se necesita uno de los dos productos de software siguientes: v WebSphere Application Server, Advanced Single Server Edition Versin 4.x o posteriores. Puede descargar una versin gratuita de prueba de este software del sitio Web de IBM en la direccin http://www.ibm.com/software/webservers/appserv/advanced.html. v Apache Tomcat Versin 4.0.x o posteriores. Puede bajar una copia libre de este software de la direccin http://jakarta.apache.org/tomcat/. Software y hardware necesario para ejecutar el J2ME MIDP ISync Client en telfonos Motorola iDEN Para instalar y ejecutar el proveedor de sincronizacin MIDP en telfonos Motorola iDEN, se necesitan el hardware y el software siguientes: v Sun Microsystems JavaTM 2 Platform Micro Edition, Wireless Toolkit v iDEN Update y cable de datos (para cargar aplicaciones en el telfono) v Apache ANT v RetroGuard Ofuscator v Paquetes Java isync4j (incluidos con DB2 Everyplace) com.ibm.mobileservices.isync com.ibm.mobileservices.isync.midp com.ibm.mobileservices.isync.event

DB2 Everyplace Java Sync Client para IBM Cloudscape Versin 10DB2 Everyplace Java Sync Client para IBM Cloudscape Versin 10 permite crear aplicaciones que sincronizan suscripciones con una base de datos IBM Cloudscape Versin 10. Java Sync Client para IBM Cloudscape Versin 10 es un conjunto de bibliotecas que colaboran con DB2 Everyplace Sync Server para simplificar la sincronizacin de datos relacionales entre bases de datos empresariales y un cliente IBM Cloudscape. DB2 Everyplace Sync Server gestiona el movimiento de datos hacia el dispositivo y desde el dispositivo. Este tema incluye la siguiente informacin sobre Java Sync Client para IBM Cloudscape Versin 10: v Software necesario para ejecutar Java Sync Client para IBM Cloudscape Versin 10 v Caractersticas no soportadas por IBM Cloudscape Versin 10 v Java Sync Client para el diseo del directorio de IBM Cloudscape Versin 10 v Cmo establecer la variable de entorno CLASSPATH Software necesario para ejecutar Java Sync Client para IBM Cloudscape Versin 10 Para ejecutar Java Sync Client para IBM Cloudscape Versin 10, necesitar los siguientes productos de software:Desarrollo

31

v DB2 Everyplace versin 8.2 o posterior v JDK 1.3.1 o posterior Nota: JDK 1.3.x requiere el paquete JCE 1.2.2 de Sun. Instale los archivos jar en el directorio $JAVA_HOME/jre/lib/ext. Caractersticas no soportadas por Java Sync Client para IBM Cloudscape Versin 10 v El procedimiento remoto CALL v Suscripciones personalizadas en el servidor v Tiempo de espera excedidos de la red, que se establecen con el valor config.createSyncService para la propiedad isync.timeout v Cifrado sobre cable (over-the-wire), que se habilita mediante el recuadro combinado Cifrado de la pgina Identificacin del cuaderno Suscripcin del Centro de administracin de dispositivos porttiles (puede especificar igualmente valores de cifrado, aunque no se aplicarn para los clientes IBM Cloudscape). v Cifrado por tabla, que se habilita mediante el recuadro de seleccin Cifrar de la ventana Definir suscripcin de duplicacin del Centro de administracin de dispositivos porttiles. Nota: Para cifrar la base de datos de IBM Cloudscape Versin 10, aada la siguiente opcin (que aparece en negrita) el URL de JDBC: jdbc:cloudspace:mydb;create=true; dataEncryption=true;bootPassword=Db2jeveryPlace Java Sync Client para el diseo del directorio de instalacin de IBM Cloudscape Versin 10 Los archivos de Java Sync Client para IBM Cloudscape Versin 10 se encuentran en los directorios siguientes: v %DSYINSTDIR%\Clients\javaclient\ contiene los archivos el archivo jar de la API ISync de IBM Cloudscape Versin 10. v %DSYINSTDIR%\Clients\clientapisample\Java_API contiene las aplicaciones de ejemplo v %DSYINSTDIR%\doc\lang\SyncClientJavaAPI contiene el Javadoc. Cmo establecer la variable de entorno CLASSPATH Para utilizar Java Sync Client para IBM Cloudscape Versin 10, defina la variable de entorno CLASSPATH de modo que incluya los siguientes archivos: v Los archivos jar de IBM Cloudscape Versin 10 de la instalacin de IBM Cloudscape Versin 10. v El archivo jar de la API ISync de IBM Cloudscape Versin 10 (db2jisync.jar). v Las aplicaciones de ejemplo (%DSYINSTDIR%/Clients/clientapisample/Java_API). Por ejemplo:set CLASSPATH=%DSYINSTDIR%\Clients\DB2j\db2jisync.jar set CLASSPATH=%CLASSPATH%;%CS_INSTALL%\lib\cs.jar;%CS_INSTALL%\lib\cstools.jar set CLASSPATH=%CLASSPATH%;%DSYINSTDIR%\Clients\clientapisample\Java_API

32

Gua de aplicaciones y desarrollo de IBM DB2 Everyplace Versin 8.2

Sincronizacin nativa de DB2 EveryplaceLos proveedores de sincronizacin nativa proporcionan la interfaz Java que invoca a las bibliotecas del cliente de sincronizacin nativa. Nota: Los proveedores de sincronizacin nativa no soportan la seguridad de hebras en este release, la coordinacin de la sincronizacin de hebras es responsabilidad de la aplicacin. Hay dos tipos de proveedores de sincronizacin nativa de DB2 Everyplace: v Proveedor de sincronizacin nativa basado en Java Native Interface (JNI) v Proveedor de sincronizacin nativa basada en desvo de Palm OS Codificacin de caracteres en aplicaciones Java Las series de Java se encuentran en Unicode. No obstante, los proveedores de sincronizacin de Java convierten las series Java en bytes segn el formato especificado por la aplicacin. El formato especificado por la aplicacin altera temporalmente la codificacin de caracteres por omisin del sistema operativo. Vea la propiedad isync.encoding de ISyncManager.getISyncService para conocer las codificaciones que se pueden establecer.

Codificacin de caracteres en aplicaciones JavaLos programas Java utilizan internamente texto UNICODE; sin embargo, los datos tipo carcter de una tabla DB2 Everyplace pueden estar en un formato distinto de UNICODE, en funcin del sistema operativo y del idioma en que se haya creado la tabla. En el caso de los sistemas operativos Windows CE y Symbian OS, el controlador JDBC de DB2 Everyplace recupera texto de la base de datos e inserta texto en la base de datos utilizando el formato UTF-8. Para los dems sistemas operativos soportados, se utiliza la codificacin de caracteres por omisin del sistema. La codificacin por omisin se suele determinar mediante el atributo file.encoding de la propiedad del sistema Java. Por ejemplo, en el sistema operativo Windows, un usuario puede elegir utilizar una versin UNICODE o no UNICODE de la interfaz CLI; por consiguiente, en la misma mquina, una base de datos puede tener codificacin en formato UTF-8 y otra tener codificacin por cdigo local. Para permitir que una aplicacin JDBC acceda a datos de ambas bases de datos, DB2 Everyplace proporciona una manera de que los usuarios indiquen dinmicamente el formato de codificacin de datos que una aplicacin debe utilizar. El controlador JDBC de DB2 Everyplace convierte las series Java en bytes segn el formato especificado por la aplicacin. El formato especificado por la aplicacin altera temporalmente la codificacin de caracteres por omisin del sistema operativo. Los usuarios puede especificar dinmicamente el formato de codificacin de datos de la aplicacin por medio de la interfaz JDBC. Para ello: 1. Cree un objeto java.util.Properties. v Clave: DB2e_ENCODING v Valor: codificacin de caracteres. Utilice el valor UTF-8 para especificar DB2 Everyplace utilizando la codificacin UTF-8, o utilice cualquier codificacin de caracteres soportada por la JVM.

Desarrollo

33

2. Utilice uno de los dos mtodos siguientes para pasar el objeto java.util.Properties: v Para establecer conexin con un URL de base de datos determinado: Utilice el mtodo esttico Connection getConnection(String url, Properties info) de la clase DriverManager del paquete java.sql. v Para crear una conexin de base de datos con un URL determinado: Utilice el mtodo Connection connect(String url, Properties info) de la clase de interfaz Driver del paquete java.sql.

Visin general de las aplicaciones Java de ejemploEste tema describe las aplicaciones de ejemplo DB2eAppl.java y DB2eJavaCLP.java. Ejemplo 1: DB2eAppl.java DB2eAppl.java demuestra cmo codificar una aplicacin JDBC para DB2 Everyplace. Esta aplicacin utiliza la corriente de entrada estndar. Para ejecutar esta aplicacin, el entorno Java debe soportar java.lang.System.in. Los pasos principales de la aplicacin DB2eAppl.java son: 1. Importar el paquete java.sql. 2. Conectar con la base de datos en el directorio actual, el directorio en el que se ejecutar el programa DB2eAppl.java. La aplicacin de ejemplo permite obtener una conexin de dos modos. v Si la clase DriverManager se carga satisfactoriamente (Paso 2a del cdigo siguiente), se cargar el controlador JDBC de DB2 Everyplace com.ibm.db2e.jdbc.DB2eDriver y la aplicacin utilizar la clase DriverManager para obtener una conexin. v Si no se encuentra la cl