If you need to export metadata, not just data, it can be very difficult. There are many subtle (and not so subtle differences) between the databases that you intend to use, that such a format should be fairly general, and the export / import code should be able to translate and map metadata through the databases, and also because the external application cannot write directly to internal database structures, it will need to generate db of proper DDL to create data structures. While this is a proprietary format, IMHO its design is the least of your problems, if size and performance are important, and the file is read sequentially, it is not difficult to design a binary format. In any case, import / export and backup are two different tasks. If you need to backup the database, use its capabilities. Usually they provide much more control, i.e. Time recovery. If you need to move data in databases, which is another problem - I would write only code to move data, not metadata, having previously created the required structure in the target database.
user160694
source share