Skip to content

CLI Overview

The dbLinter Command Line Interface (CLI) can start a language server and run checks and SQL-based tests, producing various output formats.

The CLI is included in the VS Code Extension, but it can also be used standalone, for example within a CI/CD pipeline.

Releases of the dbLinter CLI are published the Releases section of the dbLinter GitHub repository.

  1. Download dblinter-x.y.z.zip from https://github.com/Grisselbav/dbLinter/releases.
  2. Extract the contents of the ZIP file to a folder of your choice. This will create a folder with the same name as the ZIP file. This folder will contain the following files:
    FileDescription
    dblinterExecutable shell script for macOS, Linux
    dblinter.cmdExecutable Windows batch file
    dblinter-cli.jarExecutable JAR file, requiring JDK 17 or newer
  3. Add the folder containing the dbLinter executable files to your operating system’s path.
  4. Optionally set the JAVA_HOME environment variable before calling dblinter to control the Java version to use.
  5. Optionally set the JAVA_OPTS environment variable before calling dblinter to control the JVM options to use.
Usage: dblinter [<options>] <command> [<args>]
Options:
--workspace=<dir> Working directory for the command.
--repoUrl=<url> Repository URL.
--tenantName=<tenant> Tenant for authentication.
--userName=<e-mail> E-mail address for authentication.
--accessToken=<token> Access token for authentication.
--configName=<config> Configuration for checks and SQL-based tests.
--connJdbcUrl=<jdbcUrl> JDBC URL for read-only database access.
--connUserName=<user> JDBC user for read-only database access.
--connPassword=<password> JDBC password for read-only database access.
--logLevel=<level> Log level (off, error, warning, info, debug, trace).
--logFile=<logFile> Name of the log file.
--logFormat=<format> Log format (short, ext1, ext2, ext3).
--clearCacheThreshold=<mb> ANTLR memory threshold in megabytes.
--options=<properties> Load options from file.
Commands:
ls Start language server.
check [<args>] Run static code analysis in current directory.
--outputFormats=<formats> Comma-separated list of output formats (vscode,
sonarqube, sarif, checkstyle, github, gitlab).
--outputName=<name> Base name of the output files.
--parallel=<n> Number of files analysed in parallel.
test [<args>] Run SQL-based tests.
--outputFormats=<formats> Comma-separated list of output formats (vscode,
junit).
--outputName=<name> Base name of the output files without file extension.
--parallel=<n> Number of SQL-based tests executed in parallel.
version Show version information.
help Show this help message.

You can save options and command arguments in a property file.

dblinter.properties
# Remote access to the dbLinter repository to read the configuration
tenantName=Demo
userName=philipp.salvisberg+42@gmail.com
accessToken=***
configName=Demo
# Read-only access to database within checks and tests
connJdbcUrl=jdbc:oracle:thin:@localhost:1521/freepdb1
connUserName=dbl_read
connPassword=***
Terminal window
dblinter ls

The check and test CLI commands are demonstrated in the dbLinter-Demo GitHub repository.