存储过程和用户定义的函数的运行之前重建首选项不起作用。此首选项是在“首选项”窗口的“进程”页面上设置的(单击窗口 -> 首选项以打开“首选项”窗口,然后展开数据和 DB2 存储过程和 UDF 构建器节点并单击进程节点)。要解决此问题,如果自上次构建后作了更改,在运行存储过程和用户定义的函数之前必须手工构建它们。
如果要部署某些表 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 数据库的连接(从“数据”透视图的“数据库资源管理器”视图中右键单击并选择新建连接,或使用另一向导的数据库连接页面)。
要解决此问题,手工填写类位置字段,或者重新启动工作台并再次创建该连接。如果重新启动工作台,将自动填写类位置字段。