// parameters: // change_complte 数据名修改成功后的收尾工作 int ChangeDbName( RmsChannel channel, string strOldDbName, string strNewDbName, Action change_complete, out string strError) { strError = ""; // TODO: 要对 strNewDbName 进行查重,看看是不是已经有同名的数据库存在了 // 另外 DoSetDBInfo() API 是否负责查重? List<string[]> log_names = new List<string[]>(); string[] one = new string[2]; one[0] = strNewDbName; one[1] = "zh"; log_names.Add(one); // 修改数据库信息 // parameters: // logicNames 逻辑库名。ArrayList。每个元素为一个string[2]类型。其中第一个字符串为名字,第二个为语言代码 // return: // -1 出错 // 0 成功(基于WebService接口CreateDb的返回值) long lRet = channel.DoSetDBInfo( strOldDbName, log_names, null, // string strType, null, // string strSqlDbName, null, // string strKeysDef, null, // string strBrowseDef, out strError); if (lRet == -1) return -1; // 数据名修改成功后的收尾工作 change_complete(); // 修改一个数据库在OPAC可检索库中的定义的名字 // return: // -1 error // 0 not change // 1 changed int nRet = RenameOpacDatabaseDef( channel.Container, strOldDbName, strNewDbName, out strError); if (nRet == -1) return -1; return 0; }