数据工具发行说明

© Copyright International Business Machines Corporation 2006. All rights reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

发行说明

1.0 局限性
   1.1 SQL 工具不可用于数据设计项目中的例程
2.0 已知问题和变通方法
   2.1 数据工具组件的已知问题和变通方法

1.0 局限性

1.1 SQL 工具不可用于数据设计项目中的例程

工作台中有两种新类型的数据项目:

数据设计项目用来创建和存储数据模型,如物理数据模型和逻辑数据模型。数据开发项目用来创建和存储数据应用程序开发对象,如存储过程和用户定义的函数,该函数也称为例程。也可以将数据设计项目中的例程看成是物理数据模型的一部分。然而,对数据设计项目中例程的开发支持非常有限,并且数据设计项目中没有对例程的 SQL 工具支持。如果您要开发例程,则建议您使用指定的数据开发项目,该项目提供更完整的支持,包括向导、例程编辑器、调试支持和 SQL 工具集成。

2.0 已知问题和变通方法

2.1 数据工具组件的已知问题和变通方法

表数据编辑器:

如果您定义只有一个 XML 数据类型列的表或具有非唯一行的任何表,然后使用表编辑器来删除某一行,则会删除与所选行匹配的所有行。要解决此问题,请不要使用表数据编辑器来删除表中具有重复行的行。

在表数据编辑器中,如果您对不具有主键的 XML 表执行 XML 验证,则 XML 验证将仅在您首次插入 XML 值时才会进行。另外,对执行 XML 验证的现有 XML 列进行更新将失败。要解决此问题,请为包含 XML 列的表创建一个主键。

有注解的 XSD 映射编辑器:
在此编辑器中处理多个根元素会导致在您保存有注解的 XSD 文件时发生错误。要解决此问题,请为每个根元素创建一组不同的 XML 模式文档文件。

XML:
要使用 XML 数据类型并处理 XML 模式,必须连接到 UTF -8 数据库。

从数据库返回的 XML 文档的数据量没有限制。根据您返回的数据量的不同,性能可能也会有所不同。

SQL 工具:
SQL 编辑器当前不支持在运行 SQL 操作期间使用主机变量。如果该 SQL 是一个 DML 语句,要解决此问题,可以从 SQL 构建器运行该 SQL。 

在 SQL 构建器中,并不是全部 SQL 语法都受支持。例如,用户定义的类型(UDT)和表函数不受支持。

例程开发:
不支持将用户定义的类型(UDT)作为例程的参数。

要使用 Ant 部署对以文件系统中的 DB2 UDB iSeries 版为目标的 Java 存储过程进行部署,必须确保系统类路径中有 jt400.jar。

如果您尝试使用 DeployInstructions.txt 中的指令来部署导出的存储过程,则您可能会看到以下错误消息:
 ...[createsp] 不能连接到目标数据库。
 [createsp] com.ibm.db2.jcc.DB2Driver... 
要解决此问题,请确保系统类路径中有 db2jcc.jar 和相应的许可证文件。

当您部署或运行 Java 存储过程时,您可能会看到“不能装入类”错误。当 RAD v7 和 DB2 服务器的 JDK 版本中存在不匹配时,如果 DB2 服务器是低级别 JDK,则可能发生这种错误。
要防止发生此错误,当您对使用 1.4 级别的 JDK 的服务器部署 Java 存储过程时,应在“部署例程”向导的编译选项字段中指定“-source 1.4”选项。(例如,DB2 通用数据库 Linux 版、UNIX 版和 Windows 版版本 8.2 服务器)。通常,使用相应的编译选项“-source JDK level”来与数据库服务器上的 JDK 级别匹配。

当您使用 Ant 部署功能来部署存储过程或 UDF 时,如果未将 tools.jar 文件放置在类路径中,则您可能看到以下消息:
找不到 tools.jar。预期可在 F:\jre\1.4.2\lib\tools.jar 中找到。
tools.jar 是 JRE(Java 运行时环境)的一部分,而不是 Ant 部署工具的一部分。
运行 Ant 脚本不需要 tools.jar,现在,您可以忽略此消息。

当您在存储过程编辑器中更改 Java 方法名称时,通过右键单击编辑器“源代码”页然后选择保存并不能正确地保存该过程。要解决此问题,请单击“文件”->“保存”或按 Ctrl+S 、单击保存图标。

如果您在不同服务器之间拖放存储过程或 UDF,例如,从 DB2 UDB Linux 版、UNIX 版和 Windows 版服务器到 DB2 UDB z/OS 版服务器,则在拖放操作期间,您将看到关于两个服务器之间的某些不兼容性的警告。如果您继续执行该操作,然后尝试打开存储过程或 UDF,则可能会看到一个错误。

SQL 过程概要分析:
如果 DB2 UDB Linux 版、UNIX 版和 Windows 版版本 8.2 服务器缺少 JCC 驱动程序检索错误消息文本所需要的必备存储过程(SYSIBM.SQLCAMESSAGECCSID),则对该服务器运行 SQL 概要分析可能导致发生空指针异常。要解决此问题,您可以在不使用 retrieveMessagesFromServerOnGetMessage=true 设置的情况下创建与服务器的连接。

在监视 SQL 过程的执行情况期间,会对该过程中发出的 DML 语句(如 INSERT、SELECT、DELETE 和 UPDATE)生成事件。然而,对于过程语句(如变量赋值)和控制结构(如 WHILE 或 IF),可能不会生成事件。

存储过程调试器:
当您连接到 UNIX DB2 服务器时,如果您正在添加断点或以调试方式运行,则可能发生超时异常。

对于其名称中同时包含英文和中文字符的存储过程,调试器不会运行。

仅动态 Java 存储过程才支持监视表达式。SQL 和 SQLJ 存储过程不支持这些表达式。

如果断点不在可执行语句(如 SET)的第一个标记处,则调试器不会在该断点处停止。另外,调试器也不会在 DECLARE CONTINUE、CLOSE CURSOR 或 ROLLBACK 上停止。

如果您在调试 Java 存储过程时选择“终止”操作,则调试会话可能会需要几分钟才能完全终止。在此期间启动的新调试会话的行为可能没有规律。

如果您正在调试的 Java 存储过程调用另一个 Java 存储过程,则您不能调试这个被调用的存储过程。您不能单步跳入嵌套的存储过程,并且您在嵌套的存储过程中设置的任何断点将被忽略。此限制用于 DB2 UDB Linux 版、UNIX 版和 Windows 版。

如果在调试 Java 存储过程时发生“等待数据包时发生超时”错误,则请尝试增加 Java 超时设置。要增加 Java 超时设置,请在工作台菜单栏中单击窗口 > 首选项。展开 Java 节点并单击调试。在“调试首选项”页面上,请增加通信超时部分中的调试器超时(毫秒)值。建议您至少增加到缺省值的两倍。

当您调试 Java 存储过程时,如果使用更改值操作来修改具有空字符串值的变量,则编辑对话框中的确定按钮可能变为不可用。要启用此按钮,请选择输入求值单选按钮,将值设置为非空字符串(如“a”),然后选择输入文字文本单选按钮。然后,确定按钮就可用了。

如果您在调试 Java 存储过程时未看到局部变量,则可能是在未使用 -g 编译器选项的情况下部署了该存储过程。确保在部署 Java 存储过程时指定 -g 编译器选项。

如果您在“变量”视图中看到“堆栈帧无效”消息,则请转至“调试”视图并单击堆栈帧上的线程对象,然后单击堆栈帧。这样应该会刷新“变量”视图,并且应该不会再出现该错误。

当您调试在 DB2 UDB iSeries 版 V5R4 上运行的 SQLJ 存储过程时,除非您应用了更新行映射的 iSeries PTF 以对应于 SQLJ 源代码而不是 Java 源代码,否则正在执行的当前行将不对应于“调试”视图中显示的所指 SQLJ 源代码行。

不能识别会话管理器超时调试器首选项。按以下方法来设置这些首选项:单击窗口 > 首选项,展开运行/调试节点,然后单击 DB2 存储过程调试器。修改会话管理器超时(分钟)字段。

调试器不能处理 DB2 Linux 版、UNIX 版和 Windows 版上有大量变量的存储过程。变量的最大数目为 200。

调试会话中的光标移动:在某些情况下,当一个过程中存在多个变量声明时,您必须多次单击单步跳入单步跳过才能移到下一行。例如,您必须单击以下行两次:DECLARE v_dept, v_actdept CHAR(3);单击以下行三次:DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2);您单击的次数必须等于变量声明数。

如果您对 Java 存储过程启动调试会话并添加断点,然后禁用这些断点,则这些断点仍处于启用状态。要解决此问题,当您启动新的调试会话时,应首先除去所有旧断点,然后添加新断点。

在某些情况下,当您处理多个数据开发项目时,您可能会在尝试调试存储过程时看到如下错误:“找不到存储过程 PROCNAME。可能已从工作空间删除该过程”或“找不到源代码”。

如果您在终止 Java 存储过程的调试会话之后立即调试 SQL 存储过程,则调试器可能显示“用户定义的函数...已被用户中断”。要解决此问题,请尝试再次调试该 SQL 存储过程。

数据核心功能:
现在,ALIAS、MQT、NICKNAME 和 SYNONYM 在整个设计期间受支持,但它们在 EJB 映射过程中不受支持。
对 MySQL 4.1 的有限支持:以下属性未正确显示在“属性”视图中:唯一索引、自动增量列、NULL 和二进制的列缺省值。另外,C 过程和函数也不受支持。

触发器、检查约束和视图不受 Cloudscape v5.1 的支持:数据库资源管理器中未显示 Cloudscape v5.1 触发器和检查约束。“属性”视图中的 SQL 主体缺少 Cloudscape v5.1 视图。不能生成 DDL 或对 Cloudscape v5.1 触发器、检查约束或视图进行反向设计。