Using a Database Server ======================= **WARNING: This discusses an advanced setup and you may run into issues.** Out of the box dependency-check uses a local H2 database. The location of the database file is configured using the data directory configuration option (see [CLI](https://jeremylong.github.io/DependencyCheck/dependency-check-cli/arguments.html)). Some organizations may want to use a more robust centralized database. Currently, [H2 in server mode](http://www.h2database.com/html/tutorial.html#using_server), MySQL, MariaDB, PostgreSQL, Oracle, and MS SQL Server have been tested. In general, the setup is done by creating a central database, setting up a single instance of dependency-check, which can connect to the Internet, that is run in update-only mode once a day. Then the other dependency-check clients can connect, using a read-only connection, to perform the analysis. Please note that if the clients are unable to access the Internet the analysis may result in a few false negatives; see the note about Central [here](./index.html). To setup a centralized database the following generalized steps can be used:
  1. Create the database and tables using either initialize.sql or one of the other initialization scripts found here.
  2. The account that the clients will connect using must have select granted on the tables.
  3. Dependency-check clients running scans will need to be configured to use the central database:
Depending on the database being used, you may need to customize the [dbStatements.properties](https://github.com/jeremylong/DependencyCheck/blob/master/dependency-check-core/src/main/resources/data/dbStatements.properties). Alternatively to modifying the dbStatements.properties it is possible to use a dialect file to support other databases. See [dbStatements_h2.properties](https://github.com/jeremylong/DependencyCheck/blob/master/dependency-check-core/src/main/resources/data/dbStatements_h2.properties) as an example. Also, if using an external database you will need to manually upgrade the schema. See [database upgrades](./upgrade.html) for more information. Examples -------- The following example shows how to use the Maven plugin with MariaDB: ```xml 4.0.0 dummy dummy 1.0-SNAPSHOT org.owasp dependency-check-maven ${project.version} org.mariadb.jdbc mariadb-java-client 1.4.6 org.mariadb.jdbc.Driver jdbc:mariadb://my.cvedb.host/cvedb depscan NotReallyMyDbPassword update-only ``` Support ------- As always, feel free to open an [issue](https://github.com/jeremylong/DependencyCheck/issues) or post a question to the [dependency-check google group](https://groups.google.com/forum/#!forum/dependency-check).