dsmUpdateObj

dsmUpdateObj 函数调用可更新与服务器上已有的活动备份或归档对象相关联的元信息。 应用程序位数据不会受到影响。 要更新对象,必须指定特定的非通配符名称。 要更新已归档的对象,请将 dsmSendType 设为 stArchive。 仅更新新命名的归档对象。

可以在会话状态中仅开始 dsmUpdateObj 调用;无法在事务内进行调用,因为它仅执行自己的事务。 此外,您一次只能更新一个对象。

限制: 在 UNIX 或 Linux® 操作系统上,如果更改所有者字段,那么除非您是 root 用户,否则无法查询或复原对象。

语法

dsInt16_t  dsmUpdateObj
   (dsUint32_t      dsmHandle,
    dsmSendType     sendType,
    void           *sendBuff,
    dsmObjName     *objNameP,
    ObjAttr        *objAttrPtr,  /* objInfo */
    dsUint16_t      objUpdAct);  /* action bit vector */

参数

字段描述与 dsmSendObj 中的描述相同,以下是例外情况:
dsmObjName *objNameP (I)
无法使用通配符。
ObjAttr *objAttrPtr (I)
此调用将忽略 objCompressed 字段。

其他差异为:

  • owner。 如果指定新的 owner 字段,那么所有者将更改。
  • sizeEstimate。 如果指定非零值,那么它应该是发送的实际数据量 (以字节为单位)。 该值存储在 IBM® Storage Protect 元数据中,以供将来使用。
  • objInfo。 此属性包含要放在 objInfo 字段中的新信息。 将 objInfoLength 设为新的 obiInfo 的长度。
dsUint16_t objUpdAct
objUpdAct 的位掩码和可能的操作包括:
DSM_BACKUPD_MC
更新该对象的管理类。
DSM_BACKUPD_OBJINFO
更新 objInfoobjInfoLengthsizeEstimate
DSM_BACKUPD_OWNER
更新该对象的所有者。
DSM_ARCHUPD_DESCR
更新 Description 字段。 通过 SendBuff 参数输入新描述的值。 关于正确的使用方法,请参阅样本程序。
DSM_ARCHUPD_OBJINFO
更新 objInfoobjInfoLengthsizeEstimate
DSM_ARCHUPD_OWNER
更新该对象的所有者。

返回码

返回码编号用括号 ( ) 括起。

表 1. dsmUpdateObj 的返回码
返回码 说明
DSM_RC_INVALID_ACTION (2232) 无效的操作。
DSM_RC_FS_NOT_REGISTERED (2061) 没有注册文件空间。
DSM_RC_BAD_CALL_SEQUENCE (2041) 调用顺序无效。
DSM_RC_WILDCHAR_NOTALLOWED (2050) 不允许使用通配符。
DSM_RC_ABORT_NO_MATCH (2) 与之前的查询不匹配。