返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

IsReadOnly 属性
获取一个值,该值指示GBaseParameterCollection 是否是只读的。

语法
[Visual Basic]
Public Overrides ReadOnly Property IsReadOnly As Boolean

Get
[C#]
public override bool IsReadOnly { get; }

实现

GBase 8a 程序员手册ADO.NET 篇


- 298 -

南大通用数据技术股份有限公司
IList.IsReadOnly

如果 DBA 使用 DBA 关键字创建例程,
则数据库服务器自动地仅将 Execute 权限授予有
DBA 权限的其他用户。然而,DBA 可显式地将 DBA 例程上的 Execute 权限授予没有
DBA 权限的用户。
当用户执行以 DBA 关键字注册了的例程时,
该用户假设在例程持续期间持有 DBA 权限。
如果没有 DBA 权限的用户运行 DBA 例程,则数据库服务器隐式地将临时的 DBA 权限
授予调用者。在退出 DBA 例程之前,数据库服务器隐式地撤销该临时的 DBA 权限。
执行 DBA 例程的用户拥有在运行该 DBA 例程期间创建的对象,
除非例程中的语句显式
地命名其他用户作为所有者。 例如,假设 tony 以 DBA 关键字注册 promo() 例程,如下:

CREATE DBA PROCEDURE promo()
. . .
CREATE TABLE catalog
. . .
CREATE TABLE libby.mailers
. . .
END PROCEDURE;
虽然 tony 拥有该例程,但如果 marty 运行它,那么 marty 拥有 catalog 表,但由于用
户 libby 的名称限定 libby.mailers 表名称,使得她成为该表的所有者,因此它拥有该表。
被调用的例程未继承 DBA 权限。如果 DBA 例程执行未以 DBA 关键字创建了的例程,
则 DBA 权限不影响被调用的例程。
如果未以 DBA 关键字注册的例程调用 DBA 例程,则调用者对于被调用的 DBA 例程必
须有 Execute 权限。该 DBA 例程内的语句执行如同任何 DBA 例程内的语句一样。
下列示例展示当 DBA 与非 DBA 例程相互作用时发生的情况。假设过
程 dbspc_cleanup() 执行另一过程 clust_catalog()。还假设 clust_catalog()创建索引,
且 clust_catalog() 的 SPL 源代码包括下列语句:
CREATE CLUSTER INDEX c_clust_ix ON catalog (catalog_num);
DBA 过程 dbspc_cleanup() 以下列语句调用其他例程:
EXECUTE PROCEDURE clust_catalog(catalog);
假设 tony 注册了 dbspc_cleanup() 作为 DBA 过程,而未以 DBA 关键字注
册 clust_catalog(),如下列语句所示:
CREATE DBA PROCEDURE dbspc_cleanup(loc CHAR)
CREATE PROCEDURE clust_catalog(catalog CHAR)
GRANT EXECUTE ON dbspc_cleanup(CHAR) to marty;

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 322 -

假设用户 marty 运行 dbspc_cleanup()。由于通过非 DBA 例程创建索引 c_clust_ix,因此,
同时拥有两个例程的 tony 也拥有 c_clust_ix。相对地,如果 clust_catalog() 为 DBA 过程,
则 marty 会拥有索引 c_clust_ix,如下列注册和授权语句所示:
CREATE PROCEDURE dbspc_cleanup(loc CHAR);
CREATE DBA PROCEDURE clust_catalog(catalog CHAR);
GRANT EXECUTE ON clust_catalog(CHAR) to marty;
请注意,dbspc_cleanup() 无需 DBA 过程来调用 DBA 过程。

必须使用存储管理器来通过 ON-Bar 执行备份与恢复操作。
存储管理器是管理包含备份的存
储设备和介质的应用程序。存储管理器将处理所有的介质标号、安装请求以及存储卷。
Storage Manager 包含在数据库服务器中。GBase 8s 主存储管理器 包含在数据库服务器中。
但是,您可以选择使用受 ON-Bar 支持且与您的存储设备兼容的另一个存储管理器。