Troubleshooting
How to use this guide
- Find the section matching your problem area
- Find the symptom that matches what you see
- Follow the solution steps in order — they go from simple to complex
- 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):
-
Log out and log back in — required after every fresh install
-
Hard refresh browser:
Ctrl + Shift + R -
Verify your role: Open System Designer → System Users → Roles and confirm you are in the
SysAdminrole. Only SysAdmins see SQL Terminal. -
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.
-
Clear Workplace cache: App Management → Operations → Flush Redis cache (or navigate to
/0/dev/FlushDb) -
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:
- In Configuration, find and delete the
DnSqlTerminalpackage - Check the Custom package for duplicate files (e.g.,
DnSqlAccessChecker.cs) — delete any duplicates - Wait 2-3 minutes (Cloud) or restart app pool (On-Premise)
- Re-install SQL Cor from ZIP
- Compile all
Installation hangs at “Installing…”
Symptom: Progress bar stops moving for more than 10 minutes.
Solutions:
- Wait at least 15 minutes — first install on a new environment can be slow
- Check if install actually completed: refresh the Configuration page
- Check Creatio server logs for the actual error
- 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:
- Verify you are a System Administrator (not just a regular admin)
- On Creatio Cloud: package installation may be restricted by your hosting partner — contact your Creatio account manager
- 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:
-
Confirm the user is in the
SysAdminrole or has an access rule in Access Control -
Have them log out and log back in
-
Have them do a hard refresh:
Ctrl + Shift + R -
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:
- Open Administration → Access Control
- Search for the user — is there an Active rule?
- If no rule exists: click + Grant Access and create one → see Admin Guide
- If rule exists but Status = Revoked: click Edit → Activate
- Check Valid Until date — if in the past, the rule is expired. Edit and extend.
- Check System Settings → master switches:
- Is
DnSqlDmlEnabledON if they’re trying DML? - Is
DnSqlDdlEnabledON if they’re trying DDL?
- Is
- 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:
- Open Access Control → + Grant Access
- Select the same user/role
- Set same (or updated) access level
- Add a comment noting this is a restored rule
- Click Save
Granted access but user still reports they cannot execute
Symptom: You created an access rule, but user says nothing changed.
Solutions:
- Verify the rule appears as Active in Access Control table
- Have the user log out and log back in — access changes don’t always require a page refresh
- Confirm the username you granted matches their actual Creatio login (similar names are easy to confuse)
- Check Valid Until — must be empty or a future date
- Check that the operation type matches their level:
- ReadOnly cannot run DML
- DML cannot run DDL
- 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:
-
Search Access Control for the user — are there other active rules?
-
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.
-
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:
-
Wrap column name in double quotes:
"Name" -
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" cJOIN "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:
-
Add a WHERE clause — unrestricted queries on large tables are slow
-
Add LIMIT while testing:
LIMIT 100 -
Use Dry Run to estimate execution time without fully committing
-
Run
EXPLAIN ANALYZEto find the bottleneck:EXPLAIN ANALYZE SELECT * FROM "Contact" WHERE "Email" LIKE '%@example.com'; -
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:
-
Remove WHERE clause completely — do you get rows? If yes, WHERE is too restrictive.
-
Check NULL handling —
WHERE "Field" = NULLis wrong:-- Wrong:WHERE "DeletedOn" = NULL-- Correct:WHERE "DeletedOn" IS NULL -
Check string case — PostgreSQL
=is case-sensitive:-- Will miss "Smith", "SMITH":WHERE "Name" = 'smith'-- Case-insensitive:WHERE "Name" ILIKE 'smith' -
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:
- Verify SQL Cor is the latest version — the Cloud workaround was introduced in v1.0+
- Confirm the package is fully compiled: Configuration → Compile all
- 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:
- Wait 2-3 seconds — SQL Cor detects the collapsed state and auto-reloads
- If not auto-recovered: hard refresh
Ctrl + Shift + R - 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
DnSqlTerminalPageandDnSqlSettingsPage
Theme toggle doesn’t work
Symptom: Clicking does nothing, or page looks broken after toggle.
Solutions:
- Hard refresh:
Ctrl + Shift + R - Clear localStorage for the Creatio domain:
- Open DevTools (F12) → Application → Local Storage
- Find your Creatio domain, delete keys starting with
dn-sql-
- 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:
- Refresh the page after switching — some elements may require a reload
- Clear localStorage (same steps as theme toggle above)
- 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:
- These are safe to ignore
- Update to the latest SQL Cor version (improved filter coverage)
- 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:
- Open Administration → Blacklist
- Find your rule
- Verify Source = Manual (not System — though System rules always block)
- Verify the rule is shown in the table (not filtered out)
- Check System Settings →
DnSqlBlacklistEnabled= ON
Common causes:
| Cause | Fix |
|---|---|
| Rule type mismatch | Table 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 masking | Content 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:
- Check the error message — it shows the rule description your admin wrote
- Open Administration → Blacklist → find the matching rule
- 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
- 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:
-
Click Reset (or clear all filters) — default date range is 7 days, you may be looking at a period with no activity
-
Change Date Range to a wider window (Month preset)
-
Run a test query in Terminal, then check Logs again
-
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:
- Check the date range — logs older than
DnSqlLogRetentionDayssetting are deleted - Use Search field — search for a distinctive word from the query or the username
- Try Quick Presets (Day / Week / Month) to expand the range
- 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:
- Sliders save automatically — no Save button. But verify by:
- Refreshing System Settings page
- Checking the slider position matches what you set
- 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.
- For Query Timeout: the new timeout applies to queries started after the change
- 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:
- Open Administration → System Settings
- Find the Maintenance Mode section
- Toggle to INACTIVE (indicator turns gray)
- 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:
- Run it again — high one-off latency may be normal (cold query)
- Check the DB server load with your DBA
- Check network path between Creatio server and database server
- 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:
- Verify you are in the SysAdmin role — only SysAdmins see Service Actions
- Check if a confirmation dialog appeared and was dismissed — look for a browser dialog
- Refresh the Administration page and try again
- 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:
- First load is slowest — browser caches assets after first open. Subsequent opens are faster.
- Check overall Creatio responsiveness — if all pages are slow, the issue isn’t SQL Cor
- Clear browser cache:
Ctrl + Shift + R - 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):
- Check browser console for JavaScript delays
- Check network latency between your browser and the Creatio server
- For large result sets: the bottleneck is usually serializing results for the browser, not the query itself
- 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:
- Verify the new ZIP has a higher version number than the installed one
- 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:
- Open Administration → System Settings
- Re-configure all sliders to your desired values
- 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:
- Message Reference — if you have a specific error message
- Admin Guide — if the problem is in the Administration panel
- User Guide — if the problem is in the Terminal
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 copyGitHub: 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
| Channel | When to use |
|---|---|
| Message Reference | You see a specific message and don’t know what it means |
| GitHub Issues | Bug reports, feature requests |
| LinkedIn (Artem) | Quick questions, consulting inquiries |
| Commercial support | Artem available for Creatio implementation and consulting projects — DM on LinkedIn |
SQL Cor — Secure SQL Workbench for Creatio. Free and open source. License: MIT.