可以隐藏 AS/400 数据库表吗?
Posted
技术标签:
【中文标题】可以隐藏 AS/400 数据库表吗?【英文标题】:Can AS/400 Database Tables Be Hidden? 【发布时间】:2010-07-16 20:25:02 【问题描述】:我试图从 AS/400 数据库的表中删除一条记录。我收到一条错误消息,指出同一架构 ABC 中的另一个表 XYZ 存在引用完整性。
令我惊讶的是,该表不在我的 DbVisualizer 数据库客户端显示的表列表中。
然后我决定对该表 (ABC.XYZ) 进行选择 - 但我取回了记录。考虑到这可能是客户端问题,我使用了另一个客户端(AS/400 Operations Navigator) - 我得到了相同的结果:表不在列表中,但是当我执行 SELECT * FROM ABC.XYZ 时得到了结果
我的问题是,能否以这种方式隐藏 AS/400 表?
(请注意,该表甚至不在视图/系统表/别名/物化查询表中)
【问题讨论】:
首先,它可能不是一个“表”。如果是视图,则不会显示在表格列表中。此外,一些本地文件对于基于 SQL 的客户端可能是“不可见的”,例如多格式逻辑文件。但是,大多数此类文件无法通过 SQL 查询,因此任何 SELECT 都会失败。我们至少需要从系统中查看文件描述,以确定为什么还没有看到文件可以选择。 【参考方案1】:表可以通过对象的权限“隐藏”。你有 *ALLOBJ 权限吗?
【讨论】:
授权会导致 SELECT 失败。以上是关于可以隐藏 AS/400 数据库表吗?的主要内容,如果未能解决你的问题,请参考以下文章
您可以在 PHP/MySQL 数据库表的每一行中创建/插入表吗?