如果要部署某些表 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 语句结尾处的圆括号。
在以下情况下,不会自动填写“数据库连接”向导或页面中的类位置字段:
- 在未安装 WebSphere Application Server(WAS)的情况下安装工作台。安装 WAS。
- 启动工作台。
- 创建与 Cloudscape 数据库的连接(从“数据”透视图的“数据库资源管理器”视图中右键单击 > 新建连接,或者使用另一个向导的“数据库连接”页面)。
要变通此问题,手工填写类位置字段,或重新启动工作台并再次创建该连接。如果重新启动工作台,将自动填写类位置字段。
在将数据对象从“数据库资源管理器”视图复制至“数据定义”视图中的某个项目(“数据库资源管理器”弹出菜单中的“复制至项目”)时,“数据定义”视图中的对象树可能会变得不可用。要变通此问题,请重复“复制至项目”操作。
在处理显示在打开的 IDEF1X 图中的数据库表时,添加或除去主键不会立即将主键列移动到正确的分栏。要变通此问题,请关闭该图。下次打开该图时,主键列就会显示在正确的分栏中。
返回参数为 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。
如果 DB2 数据库中存储了大量 UDF,则当您在“数据库资源管理器”中建立数据库连接时,在检索 UDF 信息时服务器可能会关闭。在服务器关闭之后,进一步尝试使用该服务器将导致产生诸如以下的错误消息:“打开端口 50000 上的服务器 9.30.36.191 的套接字时发生 IO 异常。DB2 服务器可能已关闭。”要变通此问题,可以增大代理程序堆栈大小配置参数。这是用于增大代理程序堆栈大小的命令窗口示例:D:\SQLLIB\BIN>db2 update database manager configuration using agent_stack_sz 128 DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully
© Copyright IBM Corporation 2004, 2005. All Rights Reserved.