为什么我的 As400 无法从新创建的成员别名中进行选择?



我已经设置了这个问题中所描述的代码。

可以创建别名,也可以删除别名。

对于我自己创建的成员,这是正常工作的,但对于现有的成员,我从别名中选择时得到以下错误:

SQL State: 42704
供应商代码:-204
日志信息:[SQL0204] MyMemberName在MyLib类型*FILE中找不到。

原因. . . . .: MyMemberName in找不到TPLWHS类型*文件。如果成员名是*ALL,表将被删除未分区。如果这是一个ALTER TABLE语句,则类型为是*N,表示没有找到约束或分区。如果这不是ALTER TABLE语句,类型为*N,函数,过程,未找到触发器或序列对象。如果没有找到函数,MyMemberName是包含该函数的服务程序。的函数将无法找到,除非使用外部名称和用法名称完全匹配。检查作业日志,寻找提供更多信息的消息正在搜索的函数名的详细信息不匹配。

恢复…:更改名称并尝试请求再一次。如果该对象是节点组,请确保DB2 Multisystem . xml文件已经打开产品安装在您的系统上,并使用CRTNODGRP CL命令。如果没有找到外部函数,请确定CREATE FUNCTION语句中EXTERNAL NAME的情况与服务程序导出的名称的大小写完全匹配。

你能提供的任何帮助我都很感激。谢谢!

编辑:这是我的代码:

create alias MyLib.MyAlias for MyLib.MyLogicalFile(MyMember);
select * from MyLib.MyAlias;
drop alias MyLib.MyAlias;

Lib。当我直接创建物理和逻辑成员时,别名已经为我工作了。也许逻辑文件丢失了?我再检查一下…

此错误信息可能表示文件/逻辑文件/成员不存在。

最新更新