Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>dbLinterNew to Visual Studio Code? Get it now.
dbLinter

dbLinter

Preview

Grisselbav

|
37 installs
| (0) | Free
dbLinter for VS Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

dbLinter for VS Code

dbLinter is a suite for checking and improving the quality of database applications. Quality is assessed using static code analysis and database queries based on a configuration. A configuration is primarily centrally managed. It contains file patterns, rules, validators, SQL-based tests, parameters, and connect information for read-only database access within checks and tests.

The following subscription plans are in progress:

Anonymous Free Essential Professional
Number of seats unlimited 1 1-n 1-n
Number of configurations - 1 unlimited unlimited
View rules and related data yes yes yes yes
Manage configurations - yes yes yes
Run checks yes yes yes yes
Run SQL-based tests - yes yes yes
Ignore chosen SQL-based test findings - yes yes yes
dbLinter VS Code extension yes yes yes yes
Run all accessible checks and tests - - yes yes
Quick fixes in dbLinter VS Code extension - - yes yes
dbLinter CLI with SonarCloud integration - - yes yes
Manage user access - - yes yes
dbLinter SonarQube plugin - - - yes
Access to dbLinter test repository - - - yes
Custom rules, checks and SQL-based tests - - - yes
Generate Java project for checks and SQL-based tests - - - yes
Manage custom validators (plugins) - - - yes
Export rules and configurations - - - yes
Import rules and configurations - - - yes

The feature set and default configuration are subject to change.

The following rules are enabled for the Anonymous plan.

  • G-1030: Avoid defining variables that are not used.
  • G-1060: Avoid storing ROWIDs or UROWIDs in database tables.
  • G-1080: Avoid using the same expression on both sides of a relational comparison operator or a logical operator.
  • G-1910: Avoid using the NOSONAR marker.
  • G-1920: Avoid syntax errors.
  • G-2150: Avoid comparisons with NULL value, consider using IS [NOT] NULL.
  • G-3185: Never use ROWNUM at the same query level as ORDER BY.
  • G-4230: Always use a COALESCE instead of a NVL command, if parameter 2 of the NVL function is a function call or a SELECT statement.
  • G-4250: Avoid using identical conditions in different branches of the same IF or CASE statement.
  • G-4320: Always label your loops.
  • G-5080: Always use FORMAT_ERROR_BACKTRACE when using FORMAT_ERROR_STACK or SQLERRM.
  • G-7230: Avoid declaring global variables public.
  • G-7810: Never use SQL inside PL/SQL to read sequence numbers (or SYSDATE).
  • G-9010: Always use a format model in string to date/time conversion functions.
  • G-9501: Never use parameter in string expression of dynamic SQL. Use asserted local variable instead.
  • G-9600: Never define more than one comment with hints.
  • G-9601: Never use unknown hints.
  • G-9602: Always use the alias name instead of the table name.
  • G-9603: Never reference an unknown table/alias.
  • G-9604: Never use an invalid stats method.
  • G-9605: Never use an invalid stats keyword.

The following rules should be configured to produce a reasonable results. Therefore, they are disabled for the Anonymous plan.

  • G-1050: Avoid using literals in your code.
  • G-1110: Avoid connect users that own database objects.
  • G-1120: Avoid granting system privileges to connect users.
  • G-1130: Avoid granting table access to API roles.
  • G-1140: Avoid granting object privileges directly to connect users.
  • G-1150: Always limit privileges of schema owners according to principle of least privileges.
  • G-1210: Never create a table without a primary key.
  • G-1220: Avoid composite primary keys.
  • G-1230: Avoid tables without relationships.
  • G-1240: Try to index foreign key columns.
  • G-1250: Try to define a business key for each table.
  • G-1260: Try to define a comment for each table.
  • G-1270: Try to define a comment for each column.
  • G-1280: Try to use domains instead of raw datatypes for table columns.
  • G-1310: Never keep database objects in an invalid state.
  • G-3160: Avoid visible virtual columns.
  • G-7460: Try to define your packaged/standalone function deterministic if appropriate.
  • G-9101: Always follow naming conventions for global variables.
  • G-9102: Always follow naming conventions for local variables.
  • G-9103: Always follow naming conventions for cursor variables.
  • G-9104: Always follow naming conventions for record variables.
  • G-9105: Always follow naming conventions for collection variables (arrays/tables).
  • G-9106: Always follow naming conventions for object variables.
  • G-9107: Always follow naming conventions for cursor parameters.
  • G-9108: Always follow naming conventions for IN parameters of functions and procedures.
  • G-9109: Always follow naming conventions for OUT parameters of functions and procedures.
  • G-9110: Always follow naming conventions for IN/OUT parameters of functions and procedures.
  • G-9111: Always follow naming conventions for record type definitions.
  • G-9112: Always follow naming conventions for collection type definitions (arrays/tables).
  • G-9113: Always follow naming conventions for exceptions.
  • G-9114: Always follow naming conventions for constants.
  • G-9115: Always follow naming conventions for subtypes.
  • G-9116: Always follow naming conventions for record fields.

Components

The dbLinter suite consists of the following components:

Component Description
Web-GUI Managing tenant-specific data, like rules, configurations, user access.
VS Code Extension Checking and fixing SQL files while editing. Running SQL-based tests.
CLI Running checks and SQL-based tests from the command line producing output for 3rd party tools.
SonarQube Plugin Running checks via SonarScanner with integration into SonarQube's repository with all its features.
Static Rules Site Generated, static website with all public rules. Rules are referenced in problems panel within VS Code.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft