© 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.
Existen dos nuevos tipos de proyectos de datos 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 de datos, como por ejemplo procedimientos almacenados y funciones definidas por el usuario (también denominadas rutinas). Las rutinas se pueden visualizar desde un proyecto de diseño de datos como parte de un modelo de datos físicos. Sin embargo, el soporte de desarrollo para rutinas desde un proyecto de diseño de datos es muy limitado y no hay soporte de herramientas de SQL para rutinas en un proyecto de diseño de datos. Si está desarrollando rutinas, se recomienda 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 tabla, si realiza una validación XML en una tabla XML que no tiene una clave primaria, la validación XML sólo funcionará la primera vez, cuando inserte el valor XML. Además, una actualización de una columna XML existente con validación XML fallará.
Método alternativo: Cree una clave primaria para las tablas que contengan columnas XML.
Trabajar con varios elementos raíz en este editor puede producir errores cuando guarde el archivo XSD anotado.
Método alternativo: cree un conjunto separado de archivos de documento de esquema XML para cada elemento raíz.
Para utilizar tipos de datos XML y trabajar con esquemas XML, debe conectarse a una base de datos UTF-8. La cantidad de datos devueltos de la base de datos para documentos XML es ilimitada. En función de la cantidad de datos que devuelve, es posible que el rendimiento resulte afectado.
- El editor SQL no soporta actualmente variables de host durante la acción Ejecutar SQL.
Método alternativo: Puede ejecutar SQL desde el constructor de SQL, si es una sentencia DML.
- En el creador de SQL, no se da soporte a la sintaxis completa de SQL. Por ejemplo, no se da soporte a tipos definidos por el usuario (los UDT) ni a funciones de Tabla.
- Los tipos definidos por el usuario (UDT) no están soportados para las rutinas.
- Para desplegar procedimientos almacenados Java™ que destinados a DB2 Universal Database™ for iSeries® desde el sistema de archivos utilizando despliegue Ant, deberá asegurarse de que tiene el archivo jt400.jar en la vía de acceso de clases del sistema. Si intenta desplegar un procedimiento almacenado exportado utilizando las instrucciones del archivo DeployInstructions.txt, es posible que obtenga un mensaje de error que indique lo siguiente:
...[createsp] No se ha podido conectar con la base de datos de destino.
[createsp] com.ibm.db2.jcc.DB2Driver...Método alternativo: para solucionar este problema, compruebe que el archivo db2jcc.jar y los archivos de licencias correspondientes están en la vía de acceso de clases del sistema.
- Es posible que vea un error "no se puede cargar la clase" al desplegar o ejecutar procedimientos almacenados Java. Esto puede suceder si existe una discrepancia en la versión de JDK entre RAD v7 y el servidor de DB2®, si el servidor de DB2 se encuentra en un nivel inferior al JDK.
Método alternativo: debe especificar la opción "-source 1.4" en campo Opciones de compilación del asistente Desplegar rutinas cuando esté desplegando procedimientos almacenados Java en servidores que utilicen un nivel 1.4 del JDK. (Por ejemplo, un servidor de DB2 Universal Database para Linux®, UNIX® y Windows® V8.2). En general, utilice la opción de compilación adecuada "-source JDK level " para que coincida con el nivel de JDK en el servidor de bases de datos.
- Cuando despliegue un procedimiento almacenado o UDF utilizando la funcionalidad de despliegue de Ant, es posible que vea este mensaje si no tiene el archivo tools.jar ubicado en la variable classpath:
No se puede localizar tools.jar. Se esperaba encontrarlo en F:\jre\1.4.2\lib\tools.jar
El archivo tools.jar forma parte del JRE (Java Runtime Environment), no forma parte de la herramienta de despliegue de Ant.Método alternativo: El archivo tools.jar no es necesario para ejecutar el script Ant y, por ahora, puede simplemente ignorar este mensaje.
- Cuando se modifica el nombre de método Java en el editor de procedimientos almacenados, no puede guardar el procedimiento correctamente pulsando con el botón derecho del ratón en la página Fuente del editor y, a continuación, seleccionando Guardar.
Método alternativo: guarde el procedimiento almacenado pulsando Archivo->Guardar, pulsando Ctrl+S o pulsando el icono Guardar.
- Si arrastra y suelta un procedimiento almacenado o un UDF entre servidores no similares (por ejemplo, desde un servidor de DB2 Universal Database para Linux, UNIX y Windows a un servidor de DB2 Universal Database para z/OS®), obtendrá un aviso mientras arrastre y suelte acerca de determinadas incompatibilidades entre los dos servidores. Si continúa con la operación y vuelve a intentar abrir el procedimiento almacenado o UDF, es posible que obtenga un error.
- La ejecución de un perfil SQL en un servidor DB2 UDB for Linux, UNIX y Windows V8.2 puede causar una excepción de puntero nulo si al servidor le falta el procedimiento de requisito previo (SYSIBM.SQLCAMESSAGECCSID) que necesita el controlador JCC para recuperar el texto del mensaje de error.
Método alternativo: puede crear una conexión con el servidor sin el valor de retrieveMessagesFromServerOnGetMessage=true.
- Durante la supervisión de la ejecución de procedimientos SQL, se generan sucesos para sentencias DML como por ejemplo INSERT, SELECT, DELETE y UPDATE que se emiten en este procedimiento. Sin embargo, los sucesos no se generan de forma determinista para sentencias de procedimiento tales como las asignaciones de variable y estructuras de control como por ejemplo WHILE o IF. Por lo tanto, es posible que no se genere la información de perfilado para sentencias de procedimientos.
- Cuando está conectado a un servidor DB2 de UNIX, se pueden producir excepciones de tiempo de espera excedido al añadir puntos de interrupción o al ejecutar en modalidad de depuración.
- El depurador no se ejecuta para un procedimiento almacenado cuyo nombre contiene tanto caracteres ingleses como caracteres chinos.
- Las expresiones de vigilancia sólo están soportadas para procedimientos almacenados Java dinámicos. No están soportados para procedimientos almacenados SQL y SQLJ.
- El depurador no se detiene en el punto de interrupción si no está colocado en la primera señal de una sentencia ejecutable, como por ejemplo SET. Además, no se detiene en DECLARE CONTINUE, CLOSE CURSOR o ROLLBACK.
- Si está depurando un procedimiento almacenado Java y selecciona la acción Terminar, es posible que la sesión de depuración tarde algunos minutos en terminar completamente. Las nuevas sesiones de depuración que se inician durante este periodo pueden tener un comportamiento no esperado.
- Si está depurando un procedimiento almacenado Java que llama a un segundo procedimiento almacenado Java, no puede depurar el segundo procedimiento almacenado. No puede entrar en el procedimiento almacenado anidado y cualquier punto de interrupción que establece en el procedimiento almacenado anidado se ignorará. Esta restricción es para Linux, UNIX y Windows.
- Si obtiene un error de 'Se ha producido un error de tiempo de espera excedido mientras esperaba el paquete' intente aumentar el valor de tiempo de espera excedido de Java.
Método alternativo: para aumentar el valor del tiempo de espera de Java, pulse Ventana > Preferencias en la barra de menús del área de trabajo. Expanda el nodo Java y pulse Depurar. En la página Preferencias de depuración, aumente el valor de Tiempo de espera del depurador (ms) en la sección Tiempo de espera de comunicaciones. Se recomienda que al menos doble el valor predeterminado.
- Cuando está depurando un procedimiento almacenado Java, si utiliza la acción Cambiar valor para modificar una variable que tiene un valor de serie vacío, es posible que el botón Aceptar en el diálogo de edición no esté habilitado.
Método alternativo: para habilitar el botón, marque el botón de selección Entrar una evaluación, establezca el valor en una serie que no esté vacía (por ejemplo, 'a') y, a continuación, marque el botón de selección Entrar texto literal. El botón Aceptar pasará a estar activo entonces.
- Si no ve variables locales cuando esté depurando un procedimiento almacenado Java, es posible que el procedimiento almacenado se haya desplegado sin la opción del compilador -g.
Método alternativo: compruebe que ha especificado la opción -g del compilador cuando despliegue procedimientos almacenados Java.
- Si ve un mensaje 'trama de pila no válida' en la vista Variables, vaya a la vista Depurar y pulse en el objeto de hebra situado encima de la trama de pila y, a continuación, pulse en la trama de pila. Esto debe renovar la vista Variables y el error ya no debe aparecer.
- Cuando está depurando un procedimiento almacenado SQLJ que se está ejecutando en DB2 UDB for iSeries V5 R4, la línea actual que se está ejecutando no se corresponderá con la línea fuente de SQLJ indicada que se muestra en la vista Depurar a menos que haya aplicado un PTF de iSeries PTF que actualiza la correlación de línea para que se corresponda en su lugar con la fuente de SQLJ en lugar de hacerlo con la fuente de Java.
- Las preferencias del depurador para el tiempo de espera de Java (Ventana > Preferencias y, a continuación, expanda Ejecutar/Depurar y pulse Depurador de procedimientos almacenados de DB2 y modifique el valor del campo de tiempo de espera del Gestor de sesiones en minutos) no son reconocidas.
- El depurador no puede manejar un procedimiento almacenado que tenga un número elevado 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, deberá pulsar Recorrer todo o Recorrer principal más de una vez para pasar a la siguiente línea. Por ejemplo, debe pulsar dos veces en esta línea: DECLARE v_dept, v_actdept CHAR(3); y tres veces en esta línea: DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2); Debe pulsar un número de veces igual al número de declaraciones de variable.
- Si inicia una sesión de depuración para un procedimiento almacenado Java y añade puntos de interrupción, y a continuación inhabilita los puntos de interrupción, los puntos de interrupción siguen habilitados.
Método alternativo: cuando inicie una nueva sesión de depuración, deberá primero eliminar todos los puntos de interrupción antiguos y, a continuación, añadir nuevos puntos de interrupción.
- En algunos casos, cuando está trabajando con varios proyectos de desarrollo de datos, es posible que vea un error al intentar depurar un procedimiento almacenado que indica "No se ha podido localizar el procedimiento almacenado NOMBRE_PROC. Es posible que se haya eliminado el procedimiento del espacio de trabajo" o "No se ha encontrado la fuente".
- Después de depurar un procedimiento almacenado SQL anidado, a veces la salida de datos puede mostrar aún que el depurador se está ejecutando y puede ocasionar problemas en cualquier ejecución o despliegue de procedimientos almacenados que se lleve a cabo posteriormente.
Método alternativo: el Gestor de sesiones necesita ejecutarse en el sistema cliente que tiene el producto de desarrollo instalado. Para iniciar el Gestor de sesiones, ejecute el archivo db2dbgm.bat desde el directorio bin de la instalación del producto.
- Existe soporte limitado para depurar procedimientos almacenados en servidores de DB2 V8 Linux, Unix, Windows y z/OS. Sólo pueden depurarse los procedimientos SQL en un servidor de DB2 V8 que tenga el fixpak 14 instalado. Para que el depurador funcione con un servidor de DB2 V8, el Gestor de sesiones también necesita ejecutarse en el sistema cliente que tiene instalado el producto de desarrollo. Para iniciar el Gestor de sesiones, ejecute el archivo db2dbgm.bat desde el directorio bin de la instalación del producto.
- ALIAS, MQT, NICKNAME, y SYNONYM están ahora soportados durante la ingeniería de viajes de ida y vuelta, pero no están soportados en el proceso de correlación de EJB.
- Soporte limitado para MySQL 4.1: las siguientes propiedades no se muestran correctamente en la vista Propiedades: índice exclusivo, columnas de incremento automático, valor predeterminado de columna para NULL y binario. Tampoco están soportados los procedimientos y funciones de C.
- Los activadores, restricciones de comprobación y vistas no están soportadas para Cloudscape® v5.1 : los activadores y las restricciones de comprobación de Cloudscape v5.1 no se muestran en el Explorador de bases de datos. Las vistas de Cloudscape v5.1 no aparecen en el cuerpo SQL en la vista Propiedades. No es posible generar DDL o realizar ingeniería inversa de los activadores, restricciones de comprobación o vistas de Cloudscape v5.1.
- Existe soporte limitado para los tipos de datos estructurados definidos por el usuario en Oracle: el nombre de un tipo de datos estructurados definido por el usuario no será incluido en la definición de tabla cuando se genere DDL para una tabla de Oracle.
- Es posible que la renovación de un objeto de contenedor en el explorador de bases de datos falle y genere la siguiente excepción: "No se puede modificar el conjunto de recursos sin una transacción de escritura" después de cerrar el editor de comparación que se había abierto para comparar objetos en el contenedor del explorador de base de datos. Por ejemplo, comparar una tabla en el modelo de datos físico con su versión original puede provocar esta excepción.
Método alternativo: cuando suceda este problema, puede seleccionar el contenedor en el que se encuentra el objeto e intentar la renovación de nuevo. Por ejemplo, si falla la renovación de una tabla, intente volver a renovar el esquema que contiene la tabla. Si estos reintentos siguen fallando, tendrá que desconectarse de la base de datos y realizar una reconexión.
Si define una tabla con una única columna de tipo de datos XML o cualquier tabla con filas no exclusivas y, a continuación, utiliza el editor de tablas para suprimir una fila, todas las filas que coincidan con la fila seleccionada se suprimirán.
Método alternativo: No utilice el editor de datos de tabla para suprimir una fila en una tabla con filas duplicadas.