在将数据对象从“数据库资源管理器”视图复制至“数据定义”视图中的某个项目(“数据库资源管理器”弹出菜单中的“复制至项目”)时,“数据定义”视图中的对象树可能会变得不可用。要解决此问题,重复“复制至项目”操作。
存储过程和用户定义的函数的运行之前重建首选项不起作用。此首选项是在“首选项”窗口的“进程”页面上设置的(单击窗口 -> 首选项以打开“首选项”窗口,然后展开数据和 DB2 存储过程和 UDF 构建器节点并单击进程节点)。要解决此问题,如果自上次构建后作了更改,在运行存储过程和用户定义的函数之前必须手工构建它们。
以下情况可能导致“数据库资源管理器”视图中出现不可用的数据库连接对象:
您创建的连接下的连接信息未完全恢复。如果将该信息复制至“数据定义”视图中的项目, 则此问题不会发生。要解决此问题,删除该连接并创建新连接。
- 使用 IBM DB2 通用驱动程序来创建新的 DB2 Universal DatabaseTM(DB2 通用数据库)数据库的别名连接。不要将连接信息复制至“数据定义”视图中的项目。
- 右键单击该连接然后单击编辑。
- 在打开的“编辑数据库连接”向导中单击取消。
- 关闭工作台。
- 重新打开工作台。
如果要部署某些表 UDF(这些 UDF 是使用“导出例程”向导中的包括 DROP 语句选项导出的),可能会看到一条带有 SQLSTATE -458 的错误消息。这是由于生成的 DROP FUNCTION 语句中的一个错误造成的。例如,如果以下是 UDF 源代码:
CREATE FUNCTION USERID.BABELFISH ( TRANSLATIONMODE VARCHAR(100), SOURCEDATA VARCHAR(100) )
生成的 DROP FUNCTION 语句类似如下所示:
DROP FUNCTION USERID.BABELFISH ()
要解决此问题,除去 DROP FUNCTION 语句结尾处的圆括号。
返回参数为 LOB 数据类型的用户定义的函数在本地数据库的部署或运行可能会失败。如果返回的 LOB 参数中未指定长度,可能会发生这种情况。例如:
CREATE FUNCTION USERID.COLCLOB () RETURNS clob
要修正此问题,必须对返回的 LOB 参数指定长度。例如:
CREATE FUNCTION USERID.COLCLOB () RETURNS clob(5k)
如果在没有部署源代码的情况下将 DB2 Java 存储过程部署至数据库(“部署例程”向导的“选项”页面上的使用源代码进行部署复选框未被选中),则不能使用工作台从数据库中删除该存储过程。要解决此问题,可通过从 DB2 命令行处理器(CLP)发出 DROP PROCEDURE 命令或使用 DB2 控制中心删除该存储过程。您可能还需要发出 CALL SQLJ.REMOVE_JAR 命令以除去已安装的 JAR。
在以下情况下,不会自动填充“数据库连接”向导或页面中的类位置字段:
- 在未安装 WebSphere Application Server(WAS)的情况下安装工作台。安装 WAS。
- 启动工作台。
- 创建与 CloudscapeTM 数据库的连接(从“数据”透视图的“数据库资源管理器”视图中右键单击并选择新建连接,或使用另一向导的数据库连接页面)。
要解决此问题,手工填写类位置字段,或者重新启动工作台并再次创建该连接。如果重新启动工作台,将自动填写类位置字段。