Skip to content

Troubleshooting

How to use this guide

  1. Find the section matching your problem area
  2. Find the symptom that matches what you see
  3. Follow the solution steps in order — they go from simple to complex
  4. If nothing works, see #getting-more-help

Installation problems ^installation-problems

SQL Terminal not visible after installation

Symptom: Installation completed, but SQL Terminal does not appear in the navigation menu.

Solutions (try in order):

  1. Log out and log back in — required after every fresh install

  2. Hard refresh browser: Ctrl + Shift + R

  3. Verify your role: Open System Designer → System Users → Roles and confirm you are in the SysAdmin role. Only SysAdmins see SQL Terminal.

  4. Verify the section was registered — run in SQL Cor (if accessible) or any SQL tool:

    SELECT "Id", "Caption", "Code"FROM "SysModule"WHERE "Code" = 'DnSQLTerminal';

    If empty — the section was not registered. Re-install the package.

  5. Clear Workplace cache: App Management → Operations → Flush Redis cache (or navigate to /0/dev/FlushDb)

  6. Log out / log back in again


Compilation fails after installation

Symptom: “Compile all” produces errors like CS0579: Duplicate attribute or compilation hangs.

Cause: Leftover artifacts from a previous install attempt, or conflicting files in the Custom package.

Solution:

  1. In Configuration, find and delete the DnSqlTerminal package
  2. Check the Custom package for duplicate files (e.g., DnSqlAccessChecker.cs) — delete any duplicates
  3. Wait 2-3 minutes (Cloud) or restart app pool (On-Premise)
  4. Re-install SQL Cor from ZIP
  5. Compile all

Installation hangs at “Installing…”

Symptom: Progress bar stops moving for more than 10 minutes.

Solutions:

  1. Wait at least 15 minutes — first install on a new environment can be slow
  2. Check if install actually completed: refresh the Configuration page
  3. Check Creatio server logs for the actual error
  4. If confirmed failed: restart app pool (On-Premise) or contact hosting partner (Cloud), then retry

Permission denied during install

Symptom: Error “User does not have permission to install packages.”

Solutions:

  1. Verify you are a System Administrator (not just a regular admin)
  2. On Creatio Cloud: package installation may be restricted by your hosting partner — contact your Creatio account manager
  3. Try installing via Creatio Studio if available

Access and permission problems ^access-and-permission-problems

User cannot see SQL Terminal

Symptom: A user reports SQL Terminal is not in their navigation menu.

Solutions:

  1. Confirm the user is in the SysAdmin role or has an access rule in Access Control

  2. Have them log out and log back in

  3. Have them do a hard refresh: Ctrl + Shift + R

  4. Check their role memberships:

    SELECT sau."Name"FROM "SysUserInRole" surJOIN "SysAdminUnit" sau ON sau."Id" = sur."SysRoleId"WHERE sur."SysUserId" = ( SELECT "Id" FROM "SysAdminUnit" WHERE "Name" = 'username');

User can open SQL Terminal but cannot execute queries

Symptom: User sees the Terminal page, writes a query, clicks Execute — sees “Access denied” error.

Solutions:

  1. Open Administration → Access Control
  2. Search for the user — is there an Active rule?
  3. If no rule exists: click + Grant Access and create one → see Admin Guide
  4. If rule exists but Status = Revoked: click Edit → Activate
  5. Check Valid Until date — if in the past, the rule is expired. Edit and extend.
  6. Check System Settings → master switches:
    • Is DnSqlDmlEnabled ON if they’re trying DML?
    • Is DnSqlDdlEnabled ON if they’re trying DDL?
  7. Check Maintenance Mode — is it ACTIVE? If yes, all non-admins are blocked.

User deleted a rule by accident — want to restore access

Symptom: Access rule was deleted (not revoked), user lost access, need to restore.

Solution: Since Delete is permanent, the record is gone. Create a new rule:

  1. Open Access Control → + Grant Access
  2. Select the same user/role
  3. Set same (or updated) access level
  4. Add a comment noting this is a restored rule
  5. Click Save

Granted access but user still reports they cannot execute

Symptom: You created an access rule, but user says nothing changed.

Solutions:

  1. Verify the rule appears as Active in Access Control table
  2. Have the user log out and log back in — access changes don’t always require a page refresh
  3. Confirm the username you granted matches their actual Creatio login (similar names are easy to confuse)
  4. Check Valid Until — must be empty or a future date
  5. Check that the operation type matches their level:
    • ReadOnly cannot run DML
    • DML cannot run DDL
  6. Check master switches in System Settings (DmlEnabled, DdlEnabled)

Revoked a rule but user still has access

Symptom: You clicked Revoke on a rule, but the user can still execute queries.

Cause: User may have access through multiple paths.

Solutions:

  1. Search Access Control for the user — are there other active rules?

  2. Check if the user is in a role that has an access rule:

    SELECT sau."Name" AS "RoleName"FROM "SysUserInRole" surJOIN "SysAdminUnit" sau ON sau."Id" = sur."SysRoleId"WHERE sur."SysUserId" = ( SELECT "Id" FROM "SysAdminUnit" WHERE "Name" = 'username');

    Then check if any of those roles have rules in Access Control.

  3. Check if user is in SysAdmin — SysAdmin always has access regardless of Access Control rules.


Query execution problems ^query-execution-problems

”relation does not exist” error

Symptom: Error: relation "Contact" does not exist (or similar table name).

Cause: PostgreSQL is case-sensitive. Unquoted identifiers are lowercased — Contact becomes contact which doesn’t exist.

Fix:

-- Wrong:
SELECT * FROM Contact;
-- Correct:
SELECT * FROM "Contact";

“column does not exist” error

Symptom: Error: column "Name" does not exist.

Cause: Same case-sensitivity issue as tables, or the column name is genuinely wrong.

Fix:

  1. Wrap column name in double quotes: "Name"

  2. Verify the exact column name:

    SELECT column_name, data_typeFROM information_schema.columnsWHERE table_name = 'Contact' AND table_schema = 'public'ORDER BY ordinal_position;

“column is ambiguous” error

Symptom: Error: column reference "Name" is ambiguous in a JOIN query.

Cause: Multiple tables in the JOIN have a column with the same name.

Fix — add table aliases:

-- Wrong:
SELECT "Name" FROM "Contact" JOIN "Account" ON "Contact"."AccountId" = "Account"."Id";
-- Correct:
SELECT c."Name", a."Name" AS "AccountName"
FROM "Contact" c
JOIN "Account" a ON c."AccountId" = a."Id";

SELECT TOP N doesn’t work

Symptom: Query SELECT TOP 10 * FROM "Contact" returns an error.

Cause: TOP is MSSQL syntax. SQL Cor runs on PostgreSQL which uses LIMIT.

Fix:

-- Wrong (MSSQL style):
SELECT TOP 10 * FROM "Contact";
-- Correct (PostgreSQL style):
SELECT * FROM "Contact" LIMIT 10;

Query times out

Symptom: Query is canceled with “Query execution timeout exceeded.”

Solutions:

  1. Add a WHERE clause — unrestricted queries on large tables are slow

  2. Add LIMIT while testing: LIMIT 100

  3. Use Dry Run to estimate execution time without fully committing

  4. Run EXPLAIN ANALYZE to find the bottleneck:

    EXPLAIN ANALYZE SELECT * FROM "Contact" WHERE "Email" LIKE '%@example.com';
  5. If the query is legitimately slow and necessary, ask your administrator to increase Query Timeout in System Settings (up to 300s)


Query returns 0 rows when you expect results

Symptom: Query runs without error but returns empty results.

Solutions:

  1. Remove WHERE clause completely — do you get rows? If yes, WHERE is too restrictive.

  2. Check NULL handling — WHERE "Field" = NULL is wrong:

    -- Wrong:WHERE "DeletedOn" = NULL-- Correct:WHERE "DeletedOn" IS NULL
  3. Check string case — PostgreSQL = is case-sensitive:

    -- Will miss "Smith", "SMITH":WHERE "Name" = 'smith'-- Case-insensitive:WHERE "Name" ILIKE 'smith'
  4. Check date ranges — ensure timezone is not shifting results


DELETE query executes without showing confirmation dialog

Symptom: DELETE runs immediately without showing the “Destructive Operation” confirmation.

Cause: Dry Run is ON. When Dry Run is active, the confirmation dialog is skipped because no data will actually be deleted.

This is expected behavior. Dry Run + DELETE = safe preview, no confirmation needed.

If you want the confirmation dialog: turn OFF Dry Run, then execute.


”Multi-statement queries are not allowed” error

Symptom: Error about multi-statement queries being blocked.

Cause: You are a ReadOnly user and your query has multiple statements separated by ;.

Fix: Execute statements one at a time. Remove the semicolons between statements and run each separately.


DML blocked on Creatio Cloud

Symptom: DML query fails with a message about DBExecutor.Execute not being allowed.

Cause: This is a known Creatio Cloud restriction. SQL Cor uses a reflection-based workaround to handle this.

Solutions:

  1. Verify SQL Cor is the latest version — the Cloud workaround was introduced in v1.0+
  2. Confirm the package is fully compiled: Configuration → Compile all
  3. If the error persists, open a GitHub issue with:
    • Your Creatio version (System Designer → About)
    • The exact query
    • The full error text

UI and display problems ^ui-problems

Blank or white page when opening SQL Terminal

Symptom: Clicking SQL Terminal shows a blank screen with no content.

Cause: Creatio’s Application Hub can collapse the center panel when switching between sections. SQL Cor has a self-recovery mechanism for this.

Solutions:

  1. Wait 2-3 seconds — SQL Cor detects the collapsed state and auto-reloads
  2. If not auto-recovered: hard refresh Ctrl + Shift + R
  3. If happens every time:
    • Verify compile is complete: Configuration → Compile all
    • Check browser console (F12) for JavaScript errors
    • Verify JS modules exist in Configuration: search for DnSqlTerminalPage and DnSqlSettingsPage

Theme toggle doesn’t work

Symptom: Clicking does nothing, or page looks broken after toggle.

Solutions:

  1. Hard refresh: Ctrl + Shift + R
  2. Clear localStorage for the Creatio domain:
    • Open DevTools (F12) → Application → Local Storage
    • Find your Creatio domain, delete keys starting with dn-sql-
  3. Refresh and try again

Language switch does not update the page

Symptom: Clicking the language button changes the label but page text stays the same.

Solutions:

  1. Refresh the page after switching — some elements may require a reload
  2. Clear localStorage (same steps as theme toggle above)
  3. If persists, report as a bug via GitHub Issues

”Entity schema name for data source PDS” notifications appear

Symptom: Toast notifications with “Entity schema name for data source PDS is not provided” text appear repeatedly.

Cause: This is a known Creatio Application Hub quirk. SQL Cor includes a MutationObserver filter to suppress these, but some variants may get through.

Impact: These notifications are cosmetic only — they do not affect SQL Cor functionality.

Solutions:

  1. These are safe to ignore
  2. Update to the latest SQL Cor version (improved filter coverage)
  3. If very frequent, report exact timing and trigger on GitHub Issues

Session timer shows wrong time or jumps

Symptom: Footer session timer shows incorrect time or jumps erratically.

Cause: Multiple timer instances accumulated (rare, occurs on rapid navigation).

Fix: Refresh the page — this resets the timer cleanly.


Results table shows NULL for all values

Symptom: Query runs, rows are returned, but all cell values show as NULL.

Cause: Column names in the SELECT don’t match actual column names due to case.

Fix:

-- Problematic (unquoted — PostgreSQL may not find them):
SELECT Name, Email FROM "Contact";
-- Correct:
SELECT "Name", "Email" FROM "Contact";

Export button not visible

Symptom: After running a query, the Export button is not shown.

Cause: Export is only available after a successful SELECT query that returns rows.

Not available for:

  • DML results (INSERT/UPDATE/DELETE)
  • DDL results (CREATE/ALTER/DROP)
  • Empty result sets (0 rows)
  • Error states

Fix: Run a SELECT query that returns at least one row.


Blacklist problems ^blacklist-problems

Blacklist rule not blocking expected queries

Symptom: You created a blacklist rule, but queries that should match still execute.

Diagnostic checklist:

  1. Open Administration → Blacklist
  2. Find your rule
  3. Verify Source = Manual (not System — though System rules always block)
  4. Verify the rule is shown in the table (not filtered out)
  5. Check System Settings → DnSqlBlacklistEnabled = ON

Common causes:

CauseFix
Rule type mismatchTable rule won’t block a keyword. Use the correct Type.
Pattern too specific”SysUser” won’t block “SysUserInRole” — patterns must match exactly what’s in the query
Literal maskingContent inside single quotes '...' is masked before blacklist check — this is intentional safety. A pattern that only appears in string values won’t block.

Testing a rule: After creating a rule, immediately try to execute a query that should match it. You should see: "This query is blocked by the system. Reason: [your description]"


Legitimate query is being blocked

Symptom: A regular, safe query is blocked by a blacklist rule.

Solutions:

  1. Check the error message — it shows the rule description your admin wrote
  2. Open Administration → Blacklist → find the matching rule
  3. Click Edit and either:
    • Make the pattern more specific (e.g., use Field type instead of Keyword)
    • Change the Type (e.g., Keyword → Table for table-specific blocking)
    • Add more specific pattern text
  4. If it’s a System rule (🔒): it cannot be modified. If you believe a system rule is blocking legitimate work, contact the SQL Cor maintainer via GitHub Issues.

Execution Logs problems ^execution-logs-problems

Logs tab shows nothing

Symptom: Opening Execution Logs shows an empty table.

Solutions:

  1. Click Reset (or clear all filters) — default date range is 7 days, you may be looking at a period with no activity

  2. Change Date Range to a wider window (Month preset)

  3. Run a test query in Terminal, then check Logs again

  4. If still empty after running a query, check:

    SELECT COUNT(*) FROM "DnSqlQueryLog";

    If 0 — logs are not being saved. Open a GitHub issue.


Cannot find a specific query in the logs

Symptom: You know a query was run but can’t find it in the log.

Solutions:

  1. Check the date range — logs older than DnSqlLogRetentionDays setting are deleted
  2. Use Search field — search for a distinctive word from the query or the username
  3. Try Quick Presets (Day / Week / Month) to expand the range
  4. Check if Log Retention in System Settings is set very low (e.g., 0 days)

Query Detail popup shows wrong error text color

Symptom: Error text in Query Detail popup appears but not in red.

This is a display-only cosmetic issue. The content is correct regardless of color. Report via GitHub Issues if it bothers you.


System Settings problems ^system-settings-problems

Slider changes don’t seem to take effect

Symptom: You moved a slider, but the old limit still seems to apply.

Solutions:

  1. Sliders save automatically — no Save button. But verify by:
    • Refreshing System Settings page
    • Checking the slider position matches what you set
  2. For Max Rows: run a query and check the row count notice. Note that the new limit applies to the next query after the change.
  3. For Query Timeout: the new timeout applies to queries started after the change
  4. Clear browser cache if slider position appears wrong after refresh

Maintenance Mode stays ACTIVE after maintenance is done

Symptom: Maintenance mode was enabled but now users are complaining they still can’t run queries.

Cause: Maintenance Mode has no auto-expiry. It must be manually turned off.

Fix:

  1. Open Administration → System Settings
  2. Find the Maintenance Mode section
  3. Toggle to INACTIVE (indicator turns gray)
  4. Verify: run Check Connection to confirm the system is working normally

Check Connection shows high latency

Symptom: Check Connection succeeds but latency is 500ms+ (shown as X ms in the success toast).

Solutions:

  1. Run it again — high one-off latency may be normal (cold query)
  2. Check the DB server load with your DBA
  3. Check network path between Creatio server and database server
  4. For on-premise: check if database server is on the same network as Creatio app server

Clear Logs button greyed out or not working

Symptom: Clear Logs button appears disabled or clicking it does nothing.

Solutions:

  1. Verify you are in the SysAdmin role — only SysAdmins see Service Actions
  2. Check if a confirmation dialog appeared and was dismissed — look for a browser dialog
  3. Refresh the Administration page and try again
  4. Check browser console (F12) for errors after clicking

Performance problems ^performance-problems

SQL Cor is slow to open

Symptom: Clicking SQL Terminal takes 10+ seconds before showing content.

Solutions:

  1. First load is slowest — browser caches assets after first open. Subsequent opens are faster.
  2. Check overall Creatio responsiveness — if all pages are slow, the issue isn’t SQL Cor
  3. Clear browser cache: Ctrl + Shift + R
  4. On Cloud: contact your hosting partner if consistently slow

Queries run faster directly in the database than in SQL Cor

Symptom: Same query takes 1 second in psql but 4 seconds in SQL Cor.

Explanation: SQL Cor adds 200–500ms overhead for security checks (access level, blacklist parsing, literal masking). This is normal and expected.

When overhead is excessive (>2 seconds on its own):

  1. Check browser console for JavaScript delays
  2. Check network latency between your browser and the Creatio server
  3. For large result sets: the bottleneck is usually serializing results for the browser, not the query itself
  4. Report via GitHub Issues with specifics if consistently >2 seconds overhead

Update problems ^update-problems

Update fails with “package already exists”

Symptom: Installing a new SQL Cor ZIP fails because it already exists.

Solutions:

  1. Verify the new ZIP has a higher version number than the installed one
  2. If versions conflict:
    • Export your data first (backup Access Rules and Blacklist):

      SELECT * FROM "DnSqlAccessRule";SELECT * FROM "DnSqlBlacklistEntry";
    • Delete the old package from Configuration

    • Install the new version

    • Re-enter your rules


Settings reset to defaults after update

Symptom: After updating, Query Timeout / Max Rows / etc. are back to defaults.

Cause: The update may have reset System Settings values.

Fix:

  1. Open Administration → System Settings
  2. Re-configure all sliders to your desired values
  3. Report via GitHub Issues — this should not happen with a proper update

Getting more help ^getting-more-help

Before opening a GitHub issue

Check these first:

What to include in a GitHub issue

- SQL Cor version: (Administration → System Settings → System Info)
- Creatio version: (System Designer → About)
- Creatio edition: Cloud or On-Premise
- Database type: PostgreSQL or MSSQL
- Browser: Chrome / Edge / Firefox + version
- Problem description: what you expected vs what happened
- Steps to reproduce: numbered list
- Error message: exact text
- Browser console output: F12 → Console tab → screenshot or copy

GitHub: https://github.com/<your-username>/sql-cor/issues

When NOT to open a GitHub issue

  • General SQL syntax questions → use Stack Overflow
  • Creatio platform questions unrelated to SQL Cor → use Creatio Community
  • Lost data due to user error → review the audit log in Execution Logs tab

Other support channels

ChannelWhen to use
Message ReferenceYou see a specific message and don’t know what it means
GitHub IssuesBug reports, feature requests
LinkedIn (Artem)Quick questions, consulting inquiries
Commercial supportArtem available for Creatio implementation and consulting projects — DM on LinkedIn

SQL Cor — Secure SQL Workbench for Creatio. Free and open source. License: MIT.

Document v1.0 · Applies to SQL Cor v1.0 · Last updated 1 June 2026