我已经按照此问题中的说明设置了代码。
创建别名以及删除别名都可以。
对于我自己创建的成员,这可以正常工作,但是对于现有成员,从别名中进行选择时会出现以下错误:
SQL状态:42704 供应商代码:-204 消息:[SQL0204] MyLib类型* FILE中的MyMemberName找不到。 原因 。。。。。:找不到TPLWHS类型 FILE中的MyMemberName。如果成员名称为 ALL,则表未分区。如果这是ALTER TABLE语句,并且类型为 N,则找不到约束或分区。如果这不是ALTER TABLE语句,并且类型为 N,则找不到函数,过程,触发器或序列对象。如果找不到功能,则MyMemberName是包含该功能的服务程序。除非外部名称和使用名称完全匹配,否则找不到该功能。检查作业日志,以获取一条消息,其中提供了有关正在搜索哪个功能名称和不匹配的名称的更多详细信息。 恢复 。。。:更改名称,然后重试请求。如果对象是节点组,请确保在系统上安装了DB2 Multisystem产品,并使用CRTNODGRP CL命令创建节点组。如果找不到外部函数,请确保CREATE FUNCTION语句上EXTERNAL NAME的大小写与服务程序导出的名称的大小写完全匹配。
SQL状态:42704 供应商代码:-204 消息:[SQL0204] MyLib类型* FILE中的MyMemberName找不到。
原因 。。。。。:找不到TPLWHS类型 FILE中的MyMemberName。如果成员名称为 ALL,则表未分区。如果这是ALTER TABLE语句,并且类型为 N,则找不到约束或分区。如果这不是ALTER TABLE语句,并且类型为 N,则找不到函数,过程,触发器或序列对象。如果找不到功能,则MyMemberName是包含该功能的服务程序。除非外部名称和使用名称完全匹配,否则找不到该功能。检查作业日志,以获取一条消息,其中提供了有关正在搜索哪个功能名称和不匹配的名称的更多详细信息。
恢复 。。。:更改名称,然后重试请求。如果对象是节点组,请确保在系统上安装了DB2 Multisystem产品,并使用CRTNODGRP CL命令创建节点组。如果找不到外部函数,请确保CREATE FUNCTION语句上EXTERNAL NAME的大小写与服务程序导出的名称的大小写完全匹配。
您能提供的任何帮助将不胜感激。谢谢!
编辑: 这是我的代码:
create alias MyLib.MyAlias for MyLib.MyLogicalFile(MyMember); select * from MyLib.MyAlias; drop alias MyLib.MyAlias;
当我直接创建物理和逻辑成员时,Lib.Alias的格式对我有用。逻辑文件可能丢失了吗?我会仔细检查…
此错误消息可能表明文件/逻辑文件/成员不存在。