...
Code Block | ||||
---|---|---|---|---|
| ||||
EdmiError edmiRemoteExportModel(SdaiServerContext serverContextId,
SdaiString remoteRepositoryName,
SdaiString remoteModelName,
SdaiString localRepositoryName,
SdaiString localModelName,
SdaiString diagnosticFile,
SdaiString schemaName,
SdaiUnsignedInt options,
SdaiInteger *nWarnings,
SdaiInteger *nErrors,
EdmiError *sdaiError);
|
Exports the population of an edmModel located in a remote EDMdatabase
...
to a local EDMdatabase
...
. If the local edmModel exists, it may be overwritten or have its population incremented by that of the exported remote edmModel.
...
If the underlying Express Schema of the remote edmModel does not exist in the local EDMdatabase
...
, it may optionally be downloaded from the remote EDMdatabase
...
.
...
Arguments
...
1 | Type | Name | Comment |
2 | SdaiServerContext | serverContextId | Context identification, from edmiDefineServerContext |
3 | SdaiString | remoteRepositoryName | The name of the edmRepository in the remote _ EDMdatabase _ that contains the edmModel to export into the local _ EDMdatabase {_} . Repository names are case sensitive. |
4 | SdaiString | remoteModelName | The name of the edmModel in the remote _ EDMdatabase _ to to export into the local _ EDMdatabase {_} . Model names are case sensitive. |
5 | SdaiString | localRepositoryName | The name of the edmRepository in the local _ EDMdatabase _ that contains or that shall eventually contain the edmModel specified by the argument <localModelName>. Repository names are case sensitive. |
6 | SdaiString | localModelName | The name of the edmModel to create, update or overwrite in the local _ EDMdatabase _ . Model names are case sensitive. |
7 | SdaiString | diagnosticFile | Specifies the name of the file that shall receive the diagnostic information generated by this function. If this argument is NULL, all diagnostic information will be written to the _ EDMinterface _ current output device. The _ EDMinterface _ current output device can be defined by the edmiDefineOutputFunction operation. |
8 | SdaiString | schemaName | The name of the Express Schema in the local _ EDMdatabase _ to be used as base for the exported data. If this Express Schema does not exist in the local _ EDMdatabase, it may be automatically downloaded by using one of the options _ DOWNLOADING_SCHEMA_IF_REQUIRED or DOWNLOADING_SCHEMA |
9 | SdaiUnsignedInt | options | See list of available options below. |
10 | SdaiInteger | nWarnings | Variable that will receive the number of warnings resulting from the exporting of the edmModel |
11 | SdaiInteger | nErrors | Variable that will receive the number of errors resulting from the exporting of the edmModel |
12 | EdmiError | sdaiError | Variable that will receive any _ EDMinterface _ error code resulting from the exported data it self. System errors in general wil will not be returned in this variable. |
Options: Descriptions:
Return Value
...
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Options
...
Option | Comment |
DELETING_EXISTING_MODEL | If the edmModel that is specified by the argument <localModelName> already exists it will be deleted and recreated before the remote edmModel is imported. |
DELETE_INSTANCES_WITH_REFS | If an edmModel is implicitely implicitly created, this option will disable one of the models built in features, thereby improving its data manipulation performance. |
DELETE_INSTANCE_REFS_ON_DELETE | If an edmModel is implicitelyimplicitly created, this option will disable one of the models built in features, thereby improving its data manipulation performance. This option causes all external references to an instance to be deleted automatically when the instance it self is deleted. Use this option with care. Preferably not on models that are mentmeant to remain persistantpersistent in the _EDMdatabase _. |
UNPACKED_MODEL | No garbage collection for the edmModel when data is freed on data deletion or data change. The disk space used for the actual edmModel will normally increase. |
USER_CONTROLLED_INVERSE | If an edmModel is implicitely implicitly created, this option will disable one of the models built in features, thereby improving its data manipulation performance. |
NO_INSTANCE_REFERENCES | If an edmModel is implicitelyimplicitly created, this option will disable one of the models built in features, thereby improving its data manipulation performance. This option prevents the creation and maintenance of "instance references tables". As a result of this, the following operations will not work:
|
LOG_TO_STDOUT | Any logged information will be written to the _ EDMinterface _ current output device. The _ EDMinterface _ current output device can be defined by the edmiDefineOutputFunction operation. |
ADD_TO_EXISTING_MODEL | The population of the exported remote edmModel will be added to the population of the existing local edmModel. The exported data must be based on the same underlying Express Schema as that of the existing edmModel. |
LOG_TO_FILE | Any logged information will be stored in the file specified by the <diagnosticFile> argument. |
DELETING_EXISTING_SCHEMA | If the option DOWNLOADING_SCHEMA is used and the Express Schema already exists in the local EDMdatabase, the local Express Schema will be overwritten by that used for the remote edmModel. |
DOWNLOADING_SCHEMA | The Express Schema used for the edmModel in the remote EDMdatabase, will be downloaded to the local EDMdatabase. Use the option DELETING_EXISTING_SCHEMAS if you want to overwrite an existing local version of the Express Schema. |
DOWNLOADING_SCHEMA_IF_REQUIRED | The Express Schema used for the edmModel in the remote EDMdatabase, will be downloaded to the local _ EDMdatabase _ , but only if it does not already exist. |
LOG_ERRORS_AND_WARNINGS_ONLY | Limits the logging to include nothing but the instances that generate errors or warnings. |
...
Example
...
Code Block | ||
---|---|---|
| ||
EdmiError rstat, error; SdaiInteger nWrn, nErr; SdaiServerContext myContext; SdaiModel modelId; SdaiInstance instId; SdaiOptions options; SdaiRepository repId = sdaiOpenRepositoryBN("MyRepository"); |
...
/* Create Server Context */ |
...
rstat = edmiDefineServerContext("MyContext", |
...
"Johnny", "Supervisor", "cf37ftr", |
...
"TCP", "9090", "MyServerHost", |
...
NULL, NULL, NULL, NULL, NULL, &myContext); |
...
/* Export the model from the remote database */ |
...
options = LOG_TO_FILE; |
...
options |= DELETING_EXISTING_MODEL; |
...
rstat = edmiRemoteExportModel(myContext, |
...
"DataRepository", "Friends", |
...
"MyRepository", "MyFriends", |
...
"c:/tmp/friends.export.diagnostics", |
...
"FRIENDS_SCHEMA", options, |
...
&nWrn, &nErr, &error); |
...
/* Work locally */ |
...
modelId = sdaiOpenModelBN(repId, "MyFriends", sdaiRW); |
...
instId = edmiCreateInstanceAndPutAttrsBN(modelId, "FRIEND", 2, |
...
"FIRST_NAME", sdaiSTRING, "Lucy", |
...
"LAST_NAME", sdaiSTRING, "Schmidt"); |
...
/* Import the model into the remote database */ |
...
options = LOG_TO_FILE; |
...
options |= DELETING_EXISTING_MODEL; |
...
rstat = edmiRemoteImportModel(myContext, |
...
"DataRepository", "Friends", |
...
"MyRepository", "MyFriends", |
...
"c:/tmp/friends.import.diagnostics", |
...
"FRIENDS_SCHEMA", options, |
...
&nWrn, &nErr, &error, NULL); |
...
. . . |
See also
Filter by label (Content by label) | ||||||
---|---|---|---|---|---|---|
|