I seen this arcticle knowledgebase.progress.com/.../000056440
But in this article there is no example how to do it
So my question is: how to dump _partition-policy and _partition-policy-detail and load it into another database which is have similar structure.
The purpose is to distribute partition policy accros multiple databases from developers database.
That way is possible? or it is better to use another method for this?
Regards,
Valeriy
/* rtb_dumppartpolicies.p Dump Partition Policies for the specified (by logical DB name) Database. */ ROUTINE-LEVEL ON ERROR UNDO, THROW. DEFINE INPUT PARAMETER pcDbName AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER pcSchemaDir AS CHARACTER NO-UNDO. &GLOBAL-DEFINE MIN-VERSION "11.4.0". &IF PROVERSION GE {&MIN-VERSION} &THEN DEFINE VARIABLE cFilename AS CHARACTER NO-UNDO. DEFINE VARIABLE service AS OpenEdge.DataAdmin.DataAdminService NO-UNDO. cFilename = SUBSTITUTE("&1/&2_PartitionPolicies.json",pcSchemaDir,pcDbName). service = NEW OpenEdge.DataAdmin.DataAdminService(pcDbName). service:GetPartitionPolicies():ExportTree(cFilename). FINALLY: DELETE OBJECT service NO-ERROR. END FINALLY. &ENDIF
/* rtb_inst/schupd3.p Load Table Partition Policies for DICTDB from specified file. */ ROUTINE-LEVEL ON ERROR UNDO, THROW. DEFINE INPUT PARAMETER pcFilename AS CHARACTER NO-UNDO. &GLOBAL-DEFINE MIN-VERSION "11.4.0" &IF PROVERSION GE {&MIN-VERSION} &THEN DEFINE VARIABLE service AS OpenEdge.DataAdmin.DataAdminService NO-UNDO. DEFINE VARIABLE policies AS OpenEdge.DataAdmin.IPartitionPolicySet NO-UNDO. service = NEW OpenEdge.DataAdmin.DataAdminService(LDBNAME("DICTDB")). policies = service:GetPartitionPolicies(). policies:ImportTree(pcFilename). service:UpdatePartitionPolicies(policies). FINALLY: DELETE OBJECT policies NO-ERROR. DELETE OBJECT service NO-ERROR. END FINALLY. &ENDIF
/* rtb_dumppartpolicies.p Dump Partition Policies for the specified (by logical DB name) Database. */ ROUTINE-LEVEL ON ERROR UNDO, THROW. DEFINE INPUT PARAMETER pcDbName AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER pcSchemaDir AS CHARACTER NO-UNDO. &GLOBAL-DEFINE MIN-VERSION "11.4.0". &IF PROVERSION GE {&MIN-VERSION} &THEN DEFINE VARIABLE cFilename AS CHARACTER NO-UNDO. DEFINE VARIABLE service AS OpenEdge.DataAdmin.DataAdminService NO-UNDO. cFilename = SUBSTITUTE("&1/&2_PartitionPolicies.json",pcSchemaDir,pcDbName). service = NEW OpenEdge.DataAdmin.DataAdminService(pcDbName). service:GetPartitionPolicies():ExportTree(cFilename). FINALLY: DELETE OBJECT service NO-ERROR. END FINALLY. &ENDIF
/* rtb_inst/schupd3.p Load Table Partition Policies for DICTDB from specified file. */ ROUTINE-LEVEL ON ERROR UNDO, THROW. DEFINE INPUT PARAMETER pcFilename AS CHARACTER NO-UNDO. &GLOBAL-DEFINE MIN-VERSION "11.4.0" &IF PROVERSION GE {&MIN-VERSION} &THEN DEFINE VARIABLE service AS OpenEdge.DataAdmin.DataAdminService NO-UNDO. DEFINE VARIABLE policies AS OpenEdge.DataAdmin.IPartitionPolicySet NO-UNDO. service = NEW OpenEdge.DataAdmin.DataAdminService(LDBNAME("DICTDB")). policies = service:GetPartitionPolicies(). policies:ImportTree(pcFilename). service:UpdatePartitionPolicies(policies). FINALLY: DELETE OBJECT policies NO-ERROR. DELETE OBJECT service NO-ERROR. END FINALLY. &ENDIF
Hi Jeff,
This is what I'm looking for.
Thank you very much!
Regards,
Valeriy