Copies an existing database, either on the client or the server, to a new database, including all associated databases and objects. If the database is copied on the server, the new database is started.
Syntax
ESS_FUNC_M EssCopyDatabase (hCtx, hSrcCtx, SrcApp, DestApp, SrcDb, DestDb);
| Parameter | Data Type | Description |
|---|---|---|
hCtx | ESS_HCTX_T | API context handle. |
hSrcCtx | ESS_HCTX_T | Not used - should be same as hCtx. |
SrcApp | ESS_STR_T | Name of source application. |
DestApp; | ESS_STR_T | Name of destination application. |
SrcDb; | ESS_STR_T | Name of existing database to copy. |
DestDb | ESS_STR_T | Name of new database. See Database Name Limits. |
Notes
Copying a client database copies the local database directory and contents.
This function can only be used to copy a client database to another database on the client, or a server database to another database on the same server. Use EssCopyObject() to copy a database between different servers.
Return Value
None.
Access
For a server database, the caller must have database Create/Delete/Edit privilege (ESS_PRIV_DBCREATE), and database designer privilege on the source database to be copied (ESS_PRIV_DBDESIGN).
Example
ESS_FUNC_M
ESS_CopyDatabase(ESS_HCTX_T hCtx)
{
ESS_FUNC_M sts = ESS_STS_NOERR;
ESS_HCTX_T hSrcCtx;
ESS_STR_T SrcApp;
ESS_STR_T DestApp;
ESS_STR_T SrcDb;
ESS_STR_T DestDb;
hSrcCtx = hCtx;
SrcApp = "Sample";
DestApp = "NewSamp";
SrcDb = "Basic";
DestDb = "NewBasic";
sts = EssCopyDatabase(hCtx, hSrcCtx, SrcApp,
DestApp, SrcDb, DestDb);
return(sts);
}See Also