© Copyright International Business Machines Corporation 2006. Reservados todos los derechos. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM® Corp.
Hay dos tipos de proyectos de datos nuevos en el entorno de trabajo:
- Proyectos de diseño de datos
- Proyectos de desarrollo de datos
Los proyectos de diseño de datos se utilizan para crear y almacenar modelos de datos, por ejemplo modelos de datos físicos y modelos de datos lógicos. Los proyectos de desarrollo de datos se utilizan para crear y almacenar objetos de desarrollo de aplicaciones, como por ejemplo procedimientos almacenados y funciones definidas por el usuario (conocidas también como rutinas.) Las rutinas también pueden verse desde un proyecto de diseño de datos como parte de un modelo de datos físico. Sin embargo, el soporte de desarrollo para las rutinas de un proyecto de diseño de datos es muy limitado y no hay ningún soporte de herramientas de SQL para rutinas en un proyecto de diseño de datos. Si está desarrollando rutinas, es recomendable que utilice el proyecto de desarrollo de datos designado que proporciona un soporte más completo que incluye asistentes, editores de rutinas, soporte de depuración y la integración de las herramientas de SQL.
En el editor de datos de tablas, si realiza una validación XML sobre una tabla XML que no tiene una clave primaria, la validación XML solo funcionará la primera vez cuando inserte el valor XML. Además, la actualización de una columna XML existente con la validación XML no podrá llevarse a cabo.
Solución: cree una clave primaria para las tablas que contienen columnas XML.
Cuando se trabaja con varios elementos raíz en este editor pueden producirse errores al guardar el archivo XSD anotado.
Solución: cree un conjunto aparte de archivos de documento de Esquema XML para cada elemento raíz.
Para utilizar los tipos de datos XML y trabajar con esquemas XML, debe conectar con una base de datos UTF-8. La cantidad de datos devuelta de la base de datos para los documentos XML es ilimitada. Dependiendo de la cantidad de datos que devuelva, el rendimiento puede verse afectado.
- El editor de SQL no soporta actualmente las variables de lenguaje principal durante la acción Ejecutar SQL.
Solución: puede ejecutar el SQL desde el constructor SQL, si es que se trata de una sentencia DML.
- En el constructor SQL, la sintaxis SQL no está soportada. Por ejemplo, los Tipos definidos por usuario (UDT) y las Funciones de tabla no están soportadas.
- Los tipos definidos por usuario (UDT) no están soportados como parámetros para rutinas.
- Para desplegar los procedimientos almacenados Java™ destinados a DB2 Universal Database™ para iSeries® del sistema de archivos utilizando el despliegue Ant, debe asegurarse de tener jt400.jar en la vía de acceso de clases del sistema. Si intenta desplegar un procedimiento almacenado exportado utilizando las instrucciones en DeployInstructions.txt, puede obtener un mensaje de error que diga:
...[createsp] No se ha podido conectar a la base de datos destino.
[createsp] com.ibm.db2.jcc.DB2Driver...Solución: asegúrese de que db2jcc.jar y los archivos de licencia adecuados estén en la vía de acceso de clases del sistema.
- Puede ver un error del tipo "no se puede cargar la clase" cuando despliegue o ejecute procedimientos almacenados Java. Esto puede ocurrir si hay una discrepancia en la versión de JDK entre RAD v7 y el servidor DB2®, si el servidor DB2 tiene un JDK de nivel inferior.
Solución: debe especificar la opción "-source 1.4" en el campo Opciones de compilación del asistente Desplegar rutinas cuando esté desplegando procedimientos almacenados Java contra servidores que utilicen un nivel de JDK 1.4. (por ejemplo, un servidor DB2 Universal Database para Linux®, UNIX® y Windows® V8.2.) En general, utilice la opción de compilación adecuada "-source nivel de JDK" para que coincida con el nivel de JDK del servidor de base de datos.
- Cuando despliegue un procedimiento almacenado o un UDF utilizando la funcionalidad del despliegue Ant, podrá ver este mensaje si no tiene el archivo tools.jar ubicado en la vía de acceso de clases:
No se ha podido localizar tools.jar. Se esperaba encontrarlo en F:\jre\1.4.2\lib\tools.jar
tools.jar es un componente de JRE (Entorno de tiempo de ejecución Java), no de la herramienta de despliegue Ant.Solución: tools.jar no es necesario para ejecutar el script Ant y por ahora puede pasar por alto este mensaje.
- Cuando cambia el nombre del método Java en el editor de procedimientos almacenados, no puede guardar el procedimiento adecuadamente pulsando con el botón derecho en la página Fuente del editor y después seleccionando Guardar.
Solución: guarde el procedimiento almacenado pulsando Archivo->Guardar, pulsando Control+S o pulsando el icono Guardar.
- Si arrastra y suelta un procedimiento almacenado o una UDF entre servidores diferentes (por ejemplo de un servidor DB2 Universal Database para Linux, UNIX y Windows a un servidor DB2 Universal Database para z/OS®), verá un aviso durante la operación de arrastrar y soltar acerca de ciertas incompatibilidades entre ambos servidores. Si continúa con la operación y después intenta abrir el procedimiento almacenado o la UDF, es probable que vea un error.
- La ejecución del perfilado de SQL en un servidor DB2 UDB para Linux, UNIX y Windows V8.2 puede causar una excepción de puntero nulo si al servidor le falta el procedimiento almacenado prerrequisito (SYSIBM.SQLCAMESSAGECCSID) que es necesario para que el controlador JCC recupere el texto del mensaje de error.
Solución: puede crear una conexión al servidor sin el valor retrieveMessagesFromServerOnGetMessage=true.
- Durante la supervisión de la ejecución de procedimientos almacenados de SQL, se generan eventos para las sentencias DML como por ejemplo INSERT, SELECT, DELETE y UPDATE que se emiten en el procedimiento. Sin embargo, los eventos no se generan de forma determinística para sentencias de procedimiento como asignaciones de variable y estructuras de control como por ejemplo WHILE o IF. Por lo tanto, la información de perfilado no se generará para sentencias de procedimiento.
- Cuando está conectado a un servidor UNIX DB2, pueden producirse excepciones de tiempo de espera al añadir puntos de interrupción o ejecutar en modalidad de depuración.
- El depurador no se ejecuta para un procedimiento almacenado cuyo nombre contenga tanto caracteres ingleses como chinos.
- Las expresiones de observación solo están soportadas para procedimientos almacenados de Java dinámico. No están soportadas para procedimientos almacenados de SQL y SQLJ.
- El depurador no se detiene un punto de interrupción si no está posicionado en el primer símbolo de una sentencia ejecutable, como por ejemplo SET. Además, no se detiene en DECLARE CONTINUE, CLOSE CURSOR ni ROLLBACK.
- Si está depurando un procedimiento almacenado Java y selecciona una acción Terminar, la sesión de depuración puede tardar varios minutos en terminar completamente. Las sesiones de depuración nuevas que se inicien durante este tiempo se comportarán de forma errática.
- Si está depurando un procedimiento almacenado Java que llama a un segundo procedimiento almacenado Java, no podrá depurar el segundo procedimiento almacenado. No se puede recorrer todo el procedimiento almacenado anidado ni se omitirán los puntos de interrupción establecidos en el procedimiento almacenado anidado. Esta restricción es para Linux, UNIX y Windows.
- Si obtiene un error 'Se ha sobrepasado el tiempo de espera del paquete' mientras está depurando un procedimiento almacenado Java, intente aumentar el valor de tiempo de espera de Java.
Solución: para aumentar el valor del tiempo de espera de Java, pulse Ventana > Preferencias en la barra de menús del entorno de trabajo. Expanda el nodo Java y pulse Depurar. En la página de preferencias de depuración, aumente el valor de Tiempo de espera del depurador (ms) en la sección Tiempo de espera de comunicación. Es recomendable doblar el valor predeterminado como mínimo.
- Cuando está depurando un procedimiento almacenado Java, si utiliza la acción Cambiar valor para modificar una variable que tenga un valor de serie vacío, el botón Aceptar del diálogo de edición no quedará habilitado.
Solución: para habilitar el botón, marque el botón de selección Entrar una evaluación, establezca el valor en una serie no vacía (por ejemplo, 'a') y marque el botón de selección Entrar texto literal. El botón Aceptar quedará entonces disponible.
- Si no ve variables locales al depurar un procedimiento almacenado Java, es posible que el procedimiento almacenado se haya desplegado sin la opción del compilador -g.
Solución: asegúrese de especificar la opción del compilador -g cuando despliegue procedimientos almacenados Java.
- Si ve un mensaje 'marco de pila no válido' en la vista Variables, vaya a la vista Depurar, pulse el objeto de hebra situado sobre el marco de la pila y después pulse el marco de la pila. De este modo se renueva la vista Variables y el error ya no aparece.
- Cuando esté depurando un procedimiento almacenado SQLJ que esté ejecutándose en DB2 UDB para iSeries V5 R4, la línea actual que se está ejecutando no corresponderá con la línea del código fuente SQLJ visualizada en la vista Depurar a menos que haya aplicado un PTF de iSeries que actualiza la correlación de líneas para que se ajuste al código fuente SQLJ en lugar de al código fuente Java.
- Las preferencias para el tiempo de espera del gestor de sesiones (Ventana > Preferencias, a continuación expanda Ejecutar/Depurar, pulse Depurador de procedimientos almacenados de DB2 y modifique el campo Tiempo de espera de gestor de sesiones en minutos) no se reconocen.
- El depurador no puede manejar un procedimiento almacenado que tenga un gran número de variables en DB2 para Linux, UNIX y Windows. El número máximo de variables es 200.
- Movimiento del cursor en una sesión de depuración: en algunos casos, cuando hay más de una declaración de variable en un procedimiento, debe pulsar Recorrer todo o Recorrer principal más de una vez para pasar a la línea siguiente. Por ejemplo, debe pulsar dos veces sobre esta línea: DECLARE v_dept, v_actdept CHAR(3) y tres veces sobre esta línea DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2). Debe pulsar tantas veces como declaraciones de variables haya.
- Si inicia una sesión de depuración para un procedimiento almacenado Java y añade puntos de interrupción e inhabilita los puntos de interrupción, los puntos de interrupción están todavía habilitados.
Solución: al iniciar una sesión de depuración nueva, primero debe eliminar todos los puntos de interrupción antiguos y después añadir puntos de interrupción nuevos.
- En algunos casos, cuando esté trabajando con varios proyectos de desarrollo de datos, verá un error al intentar depurar un procedimiento almacenado que diga "No se ha podido localizar el procedimiento almacenado PROCNAME. Es posible que el procedimiento se haya suprimido del espacio de trabajo" o "No se ha encontrado el fuente".
- Después de depurar un procedimiento almacenado SQL anidado, a veces la vista de salida de datos puede mostrar que el depurador está ejecutándose y puede originar problemas sobre cualquier ejecución o despliegue subsiguiente de procedimientos almacenados.
Solución: el gestor de sesiones debe ejecutarse en el sistema cliente que tiene instalado el producto del desarrollador. Para iniciar el gestor de sesiones, ejecute el archivo db2dbgm.bat en el directorio bien de la instalación del producto.
- Hay un soporte limitado para depurar procedimientos almacenados en servidores DB2 V8 Linux, Unix, Windows y z/OS. Sólo los procedimientos SQL pueden depurarse en un servidor DB2 V8 que tenga instalado el fixpak 14. Para que el depurador funcione contra un servidor DB2 V8, el gestor de sesiones debe ejecutarse en el sistema cliente que tiene instalado el producto del desarrollador. Para iniciar el gestor de sesiones, ejecute el archivo db2dbgm.bat en el directorio bien de la instalación del producto.
- ALIAS, MQT, NICKNAME y SYNONYM están ahora soportados durante la ingeniería de ida y vuelta, pero no lo están en el proceso de correlación de EJB.
- Soporte limitado para MySQL 4.1: las propiedades siguientes no se visualizan correctamente en la vista Propiedades: índice exclusivo, incremento automático de columnas, valor predeterminado de columna para NULL y binario. Además, las funciones y los procedimientos C no están soportados.
- Los desencadenantes, las restricciones de comprobación y las vistas no están soportados para Cloudscape® v5.1 : los desencadenantes de Cloudscape v5.1 y las restricciones de comprobación no se visualizan en el Explorador de base de datos. Las vistas de Cloudscape v5.1 no están en el cuerpo de SQL en la vista Propiedades. No puede generar las DDL ni revertir la ingeniería con desencadenantes Cloudscape v5.1, restricciones de comprobación ni vistas.
- Hay un soporte limitado para los tipos de datos estructurados en Oracle: el nombre de un tipo de datos estructurado definido por el usuario no se incluirá en la definición de tabla al generar DDL para una tabla de Oracle.
- La renovación de un objeto contenedor en el explorador de base de datos puede fallar y originar esta excepción: "no se puede modificar el conjunto de recursos sin una transacción escrita", después de cerrar el editor de comparación abierto para comparar objetos en el contenedor del explorador de base de datos. Por ejemplo esta excepción puede producirse al comparar una tabla del modelo de datos físico con su origen.
Solución: cuando esto suceda, puede seleccionar el contenedor que contiene el objeto contenedor e intentar volver a renovarlo. Por ejemplo, si la renovación de una tabla falla, intente renovar el esquema que contiene la tabla. Si los reintentos siguen fallando, deberá desconectar la base de datos y volver a conectarla.
Si define una tabla con una sola columna de tipo de datos XML o cualquier tabla con filas no exclusivas y después utiliza el editor de tablas para suprimir una fila, se suprimen todas las filas que coincidan con la fila seleccionada.
Solución: no utilice el editor de datos de tabla para suprimir una fila en una tabla con filas duplicadas.