JDBC2XML Usage
JDBC2XML Usage
This section refers to the command-line tool. For information on the uses of the java library, please refer to our java documentation.
Commands
JDBC2XML provides several commands, triggering different operations.
The following command overview only shows the absolut minimal number of options.
Usually more options are needed, especially --user, --password, and (Linux only, see bottom) --jdbc-drivers.
See far below for a full list of options, as well as examples for JDBC URLs.
Dumping a DB to XML
jdbc2xml --url <jdbc-url> --user <jdbc-user> --password <jdbc-password> --file <path-to-file>See below for details and example for JDBC URLs.
Restoring a DB from XML
xml2jdbc --file <path-to-file> --url <jdbc-url> --user <jdbc-user> --password <jdbc-password> Copying from one DB to another
jdbc2jdbc --from-url <jdbc-url> --to-url <jdbc-url> --user <jdbc-user> --password <jdbc-password>Parse and copy an XML file
This can be useful for extracting a schema from a database (see options below)
xml2xml --from-file <path-to-file> --to-file <path-to-file>Test DB connection and server status
jdbcping --url <jdbc-url> --user <jdbc-user> --password <jdbc-password>Extract parts of a DB
jdbcextr --url <jdbc-url> --user <jdbc-user> --password <jdbc-password> --file <path-to-file>JDBC URLs
JDBC URLs basically look like jdbc:servertype://host[:port]/db?options., but some Databases and/or JDBC Drivers like other variants.
Typical examples are:
# MySQL
jdbc:mysql://localhost:3306/MYDATABASE?useCursorFetch=true
# MSSQL
jdbc:sqlserver://localhost:1433;databaseName=MYDATABASE;The use of cursor fetching in mysql is highly recommended in order to circumvent java heap space exceptions while dumping the content of large tables.
Full list of options
Database access
JDBC URL to access the DB.
--from-url "jdbcurl"
--to-url "jdbcurl"
--url "jdbcurl"User to access the DB (some drivers can parse that from the URL):
--from-user user
--to-user user
--user user
Password to access the DB (some drivers can parse that from the URL):
--from-password password
--to-password password
--password passwordFile access
Win32 wrapper needs absolut paths. The given filenames may contain compressed input. The implementation instantiates an appropriate inflating/deflating stream if the filename ends with .gz or .bz2
--from-file file
--to-file file
--file fileRestrict processing to tables
Whitelist tables (comma seperated, without whitespace)
--tables table1,table2,...Blacklist tables
--exclude-tables table1,table2,...Do not include table data in dump (creates a full schema from a populated database):
--no-dataIgnore constraints
--no-constraintsCombined--no-data and --no-constraints
--schema-onlyExpert options
Drop the affected tables before actually importing a dump. If --tables or --exclude-tables is given, only tables affected by the specified filter are dropped.
--drop-tablesOverrides the default bzip2 output compression, if --to-file ends with .bz2
--compression <n>Force a timezone
--timezone timezoneidallows to select a JDBC driver, overriding autoselection
--from-driver drivername
--to-driver drivername
--driver drivernameLinux only: add given drivers to the classpath
--jdbc-drivers jarfilename[;jarfilename...]Options for jdbc behaviour
Change the batch size for inserts (def.: 1000)
--batch-size nFetch the contents of the database using a read-only transaction
--transactionalOptions for xml reading
Enable schema checking on the xml file
--check-xml-schemaCreate an extra index on each foreign key
--create-fk-indicesOptions for xml creation
Force or supress pretty printing of xml data
--pretty, --no-prettyForces the transformation of SQL identifiers to lower case
--to-lowerForce the transformation of SQL identifiers to upper case
--to-upperWrite internal indices, which are generated by the RDBMS
--keep-internal-indicesOutput Verbosity
The default log level prints Fatal, Error and Warning logs
Suppresses any output except for the return code
--quietIncrease log-level to Info
--verboseLog everything (command-line spam warning)
--debugActivate loggers in wrapper scripts (only useful if you know what you're doing)
--debug-startupDriver packages and paths, and other Backend specific tips
See
JDBC Snippets with common JDBC URL examples