Changelog
Version 4.01 in full
Every entry from the shipped changelog for 4.01, released 30 August 2026. The condensed version is on the release notes page.
78 changes, one week after 4.00. Most of them are about the connection: how it is made, how it is encrypted, how the credentials behind it are stored, and how you can tell at a glance which server you are pointed at.
Two things to know before you update. Your saved window layout from 4.00 cannot be carried over — SQL DATA LENS starts once with the default layout and keeps the old file as workspace.dat.pre-4.01; arrange the windows once and they are saved again as usual. And a diagram saved by 4.01 uses a new file format that 4.00 cannot open, so plan a staged rollout for the workstations that share diagrams.
Docking, windows and layout
- NEW Editors side by side, and editors in their own window. The docking area runs on a modern, maintained docking framework. Drag an editor tab to the left, right, top or bottom edge of the editor area and two editors sit next to each other — for comparing two queries, or for keeping a table view next to the statement that produced it. Drag a tab out of the main window and it becomes a floating window, which is what a second monitor is for. Title bars, tabs and the tool window buttons are drawn by the look and feel now, so Light and Dark are consistent.
- ENH Server Navigator, Scripts and Favorites start as tabs of the same panel on the left, Server Navigator in front and active, so all three sit the same way from the first start. The Window menu has a checkbox for each tool window — those three plus Data Inspector and SQL History — and Reset Tool Windows to Default, also on the General page of Settings, puts all five back where they started, even after you have dragged, undocked or closed them.
- FIX Dragging a panel out of the window kept it. In rare cases the panel simply vanished instead of turning into a floating window — no window, and no way back to its old place. Panels now stay put when a drag cannot be completed, and the same drag works on the next attempt.
- FIX The connection properties dialog could open far wider than the screen, most visibly on the Azure tab of a SQL Server connection. It now opens at the same, sensible size regardless of database type or tab, and help texts wrap onto several lines instead of stretching the window.
- FIX Zooming the SQL editor with Ctrl+mouse wheel, or from the Zoom submenu, now scales keywords, data types and comments along with the rest of the text. They used to stay at their original size while identifiers and line numbers grew or shrank, leaving the line looking torn apart at anything other than 100 %. Zooming back to 100 %, or choosing Reset, restores the exact original appearance.
Azure SQL, Microsoft Fabric and Entra ID
- NEW Connections to SQL Server in the Azure cloud. The driver entry Microsoft Azure SQL (Database, Managed Instance, VM) and a new Azure tab ask what it is and how you want to sign in — an ordinary SQL login, or an Entra ID (Azure AD) access token you paste in — so you make a choice instead of assembling a connection string. A connection string copied straight from the Azure portal is understood in its JDBC, ADO.NET and ODBC forms, with user name and password going into their own fields. Where Azure names a reason for refusing a connection — a missing firewall rule for your IP address, a user name that needs the
@servernamesuffix, an expired token, outbound port 1433 blocked in your own network — you get that reason instead of “Login failed”. The driver list is sorted properly now, upper and lower case mixed together as expected. - NEW The Azure tab opens only for a Microsoft SQL Server, Azure SQL or Fabric driver — or if a target is already set on that connection — and a warning icon on the tab says when a required Entra ID token is still missing. If the driver and the Azure target disagree, or Fabric is set to sign in with a SQL login instead of Entra ID, SQL DATA LENS asks or takes you to the Azure tab before saving or testing, instead of letting a raw driver error be the first you hear of it. The TLS tab pre-selects Encrypted as soon as a target is chosen, unless you already set it yourself.
- NEW The Azure tab has a Database Name field, left blank for the default database of your sign-in — shown as
<default>, the same wording SQL Server Management Studio uses. Set it to reach a particular database on an Azure SQL Database, which only ever connects to one. - NEW With the target set to Azure SQL Database, the Server Navigator shows only the database you are connected to. Azure does not allow switching to another database on the same connection, so the ones you cannot reach no longer appear and no longer fail to open. Leave the target unset and the navigator still lists every database the server reports,
masteramong them; opening one of those ends in a message from Azure rather than a table list. - NEW The sign-in methods SQL Server Management Studio offers, for Microsoft SQL Server, Azure SQL and Microsoft Fabric alike: SQL Server Authentication, Windows Authentication, Microsoft Entra MFA, Microsoft Entra Password, Microsoft Entra Integrated, Microsoft Entra Service Principal and Microsoft Entra Default. If you already work with the Azure CLI, Microsoft Entra Default is the shortest of them: run
az loginonce and connect — no window, nothing to type, no token to paste, and no fetching a token by hand every hour. A sign-in from Azure PowerShell, the Azure Developer CLI or Visual Studio Code is accepted just as well. Nothing is stored for it: no password, no token. Your choice is saved with the connection, the user and password fields switch on and off to match, and existing connections that used Windows authentication keep working and now show it in the list. Pasting an Entra ID token by hand remains available for locked-down machines. - INFO One limitation to know before you choose: Microsoft Entra MFA, which is meant to open your browser for an interactive sign-in, does not yet complete reliably — the attempt can stay on “connecting” with no browser window in sight, and SQL DATA LENS then has to be ended through the Task Manager. Use Microsoft Entra Default or a pasted token until that is sorted out.
- NEW Connections to Microsoft Fabric — Warehouse, the SQL analytics endpoint of a Lakehouse, and Fabric SQL database. Pick the target on the Azure tab and sign in with an Entra ID token, which is what Fabric accepts. The analytics endpoint serves data written through the Lakehouse, so such a connection is marked read-only and write statements, grid editing and Data Pumper writes are kept away from it. Azure SQL and Fabric are commercial cloud services, so the Free Edition does not connect to them.
Credentials, TLS and the safety of a connection
- NEW Stored connection passwords are protected with Windows DPAPI. Windows encrypts them against your own Windows user profile, so the key is no longer part of the application: a copied or backed-up
config.jsonno longer gives up your passwords, and another Windows account on the same machine cannot read them. Migration happens by itself on the first start — nothing is lost and you keep connecting without typing anything. The protection is bound to the computer and the Windows account that saved it, so a configuration moved to another machine or account keeps all its connections and asks once for each password. - NEW “Never save the password” — per connection, and as a default for newly created ones. With it on, no password is written for that connection; SQL DATA LENS asks once and keeps it for the running session only. The switch is on the new Password tab of the connection properties, the default under Settings > Connections.
- NEW Team profiles: share connection details as a file, never credentials. Export server profile… on a connection or a group writes a readable
*.sdlprofile.jsonyou can put on a share, attach to a mail or paste into a wiki, and Add server from profile… reads it back with a preview. It carries no password at all. Importing an updated profile asks what to do with a connection of the same name: update it and leave everything local as it is, import it as a copy, or skip it. - NEW Connections can be encrypted. Both connection dialogs have a TLS tab with three settings — use the driver default, no encryption, or encrypted (TLS) — plus Trust the server certificate and an expected certificate host name for generic JDBC connections, and an SSL configuration name for IRIS and Caché. A failed handshake says what happened and which switch helps.
- NEW A TLS Configuration Assistant sets up an encrypted IRIS or Caché connection — no properties file to write, no keytool, no restart. Open it from Assistant… on a connection’s TLS tab, or from Settings > InterSystems IRIS / Caché > TLS > Set up…. Its first step lays out the three ways to get a certificate with each option’s own fields grouped underneath it; host and port sit in their own section above, since they are needed for the host name check and the test connection whichever option you pick. It fetches the server’s certificate, with a clear confirmation before it is trusted, or takes one you already have; checks it against the host name you are connecting to; writes the trust store and configuration file; and finishes with a test connection. The TLS page also gained a Validate… button that checks an existing configuration file and reports what is wrong with it, and SSL configuration file takes effect as soon as you save it — no restart needed.
- NEW Connections can be classified as Development, Test, Production or Failover on the new Environment tab. Each classification has its own colour in the Server Navigator and on the SQL editor tab, plus a short badge —
[DEV],[TEST],[PROD],[FAILOVER]— so colour is never the only signal. Next to the classification sits Connection is read-only, and the two are independent: mark a shared test system or a reporting replica read-only and keep its Test colour, or keep the red Production marker as a warning on a system you deliberately write to. With read-only on, the SQL editor passes only statements it can recognise as read-only, the result grid stays uneditable, and the Data Pumper, the Classes actions and the cached-query purge refuse to write. Choosing Production or Failover ticks the box for you; you can clear it again, and a confirmation asks first either way. Connections you already have keep their protection: one classified Production or Failover stays read-only after the update without any action. For IRIS and Caché the classification can follow the instance’s own system mode, and taking it over never switches the read-only guard off. - NEW Tools > Remove legacy configuration files… clears out the old configuration files that still hold connection passwords in the format used before 4.01. It lists every file with its path, its size and the reason it is listed, and deletes nothing until you confirm; your current
config.jsonis never touched. Read the confirmation — this cannot be undone. - CHG Tools > Encode all Server Passwords is gone. Protecting a password that was still stored in clear text now happens by itself while the configuration is loaded, including for connections imported from an ODBC data source.
- CHG SQL Server and Azure SQL connections use the Microsoft driver’s own encryption default, which is encrypted and verifies the server certificate. Up to 4.00 every SQL Server connection was forced to be unencrypted and a setting in the JDBC URL was overwritten. For a server with a self-signed certificate, choose Encrypted (TLS) plus Trust the server certificate on the new TLS tab; for a server that offers no TLS, choose No encryption.
- FIX Opening a connection no longer writes the user name and password into the connection’s driver property table, and the login dialog no longer pre-fills the password field with the stored, protected value.
- FIX Security: an update installs files but does not always remove the ones that no longer ship, so withdrawn drivers with known vulnerabilities could stay on disk — most likely if you skipped several versions. They are now removed on every start: H2 1.4.200 (CVE-2021-42392, CVE-2022-23221), PostgreSQL 42.3.1 (CVE-2022-21724), SQLite 3.36.0.3 (CVE-2023-32697) and the superseded HyperSQL files in
lib\msaccess(CVE-2022-41853). The drivers you actually use are untouched — each of these was replaced by a newer version long ago. Nothing to do. - FIX Windows Setup removes far more of the old driver files a previous installation may have left behind — not just the withdrawn H2 driver above, but every driver file dropped since 3.17. Skipping several releases in a single update no longer leaves outdated driver files in the installation folder.
Searching a namespace
- NEW Source code search for IRIS and Caché — server-side across all classes and routines of a namespace, as plain text or a regular expression, with switches for system code, generated code and a result limit. Start it from the new search field at the right of the main toolbar (Ctrl+Shift+F), from a namespace (Search source code…) or from a table or a global in the Global Browser (Where is this used?). Nothing is downloaded to be searched and the search runs in the background. The search field remembers your last 30 searches in a dropdown, individually removable or clearable in one go, and a search opens as its own tab in the main content area rather than a popup window, so several searches — against different namespaces, say — can stay open side by side while you work elsewhere. Selecting a result previews the source at the matching line next to the list; double-click opens that source in its own tab. When the namespace list cannot be loaded, the status line says why and you can still type the namespace yourself. A search that finds nothing says so in a full sentence — search text, namespace and which filters were in effect — instead of a bare “0 matches”.
- NEW Search… on a namespace or catalog, and the Search objects… field on the main toolbar, now work for every connection, not just IRIS and Caché. They search the schema itself — tables, views and columns, by name, across every schema of that namespace or catalog — the same way for PostgreSQL, SQL Server, MariaDB and any other JDBC connection. For IRIS and Caché a second Source code tab keeps searching classes and routines exactly as before. Previously the menu entry and the toolbar field were IRIS/Caché-only and did nothing on a generic JDBC connection.
- ENH Search source code (IRIS/Caché): a new Case sensitive checkbox lets you find matches regardless of upper and lower case — it was always case-sensitive before, with no way to tell from the result. Checked by default (the previous behaviour), and remembered across searches. The “no matches” message states whether the search was case-sensitive.
SQL editor, scripts and code completion
- NEW IRIS execution statistics next to row count and time: global references, commands executed, disk reads with their latency, and the name of the cached query class. Click that name to open the query in the Cached Query Analyzer; right-click it for the generated class source, the query plan, a MONLBL command line, or to purge it. A script shows the sum and puts one line per statement in the Messages tab, so “which statement was the expensive one?” has an answer. The numbers also go into the SQL History as a sortable Global refs column and into its CSV export. The chart button in the editor toolbar turns the bar on and off for that editor, and the state new editors start in is a setting. Works on IRIS and Caché. Holding the bar against the Management Portal? Run the query there a second time first: the Portal’s first query in a server process pays that process’s warm-up on top, so its number can look far higher for the very same statement.
- ENH You can see why a query is slow while it is still loading. The status line of the SQL editor names the stream columns a result reads — long text and binary values, which on IRIS and Caché cost an extra server round trip for every single row and are the usual reason a fast query still takes minutes. Hover the status line for the details. Name the columns you need instead of
SELECT *, or lower Max Rows. A slow load is written to the log with its duration. - CHG Stopping a query keeps your connection. Press Stop and the next execution starts right away with your session settings — isolation level, autocommit, session context — still in place, where the whole connection used to be rebuilt. Applies to IRIS and Caché connections that are not set to Encrypted.
- FIX Stop now really stops a script run. Pressing Stop cancels the running statement and leaves the rest of the script unexecuted; until now the statements after it still ran, so a script that went on to write could change data you had just stopped it from changing. The message panel says where the run stopped, which statements were skipped and whether a transaction is still open — so with auto-commit off you decide what happens to the changes made so far with Commit or Rollback.
- FIX In a script run, the row count reported for a statement is now its own. An
INSERT,UPDATEorDELETEfollowing a query had the rows of that query added to it: a single inserted row after a ten-row query was reported as “11 row(s) affected”, with the same wrong number in the status bar and in the SQL History. The “Error happened by processing row #” message no longer names a row of an earlier statement either. - INFO The SQL editor’s statement separator stays
GO, not;. On IRIS and Caché;is the ObjectScript comment character, so splitting on it would tear procedure and trigger bodies apart. A script that looks like several;-separated statements gets a small, dismissible hint. - FIX Code completion finds the tables and columns of a named schema even before it has been typed anywhere — the common case on an IRIS namespace whose default schema is empty and whose tables all live in one named schema. Before, an unqualified table name showed only the keyword list.
- FIX Code completion no longer needs two tries. Pressing Ctrl+Space right after clicking into the SQL editor sometimes did nothing at all — only a second press opened the suggestion list.
- FIX Code completion keeps IRIS/Caché-specific suggestions where they belong instead of listing them everywhere.
SET OPTIONnames (COMPILEMODE, DEFAULT_SCHEMA, LOCK_TIMEOUT, SELECTMODE and others) appear right after you typeSET OPTION, and — for the few options whose values are documented, such as SELECTMODE — the allowed values after=as well. Optimizer hints (%PARALLEL,%INORDERand others) appear only in theFROMclause or right afterJOIN, where IRIS actually allows them. Other database connections are unaffected. - FIX Code completion: an exact keyword match ranks above table or schema names that only matched loosely. Typing
selused to burySELECTbehind a long list of barely related schema names. - FIX Code completion offers the columns again when the cursor sits directly behind a comma in the
SELECTlist —SELECT ProductAlternateKey,with the cursor right after the comma now lists the columns of the table in theFROMclause instead of an empty list with the note “no columns found”. A space after the comma was never affected. - FIX Code completion says what it knows. When it has no objects to offer, the first line of the list reads “metadata: ready”, “metadata: loading” or “metadata: unavailable” followed by the reason — a name that cannot be resolved is no longer reported as “no columns found”, and the list is never silently empty. Every entry also carries a description: a column shows its type and the table it comes from, a table its schema.
- ENH Code completion shows how sure it is in the editor status bar, next to Auto:ON/OFF — “metadata: ready”, “loading” or “unavailable”. No need to open the suggestion list just to check whether it is current; hidden on an editor without a connection.
- FIX Code completion on InterSystems IRIS: the schema
EnsPortalno longer appears among the suggestions before you have typed anything. It was the last Interoperability schema still doing so. TypeEnsand it is offered as before.
SQL Scanner and performance analysis
- ENH The SQL Scanner reads the server’s own execution plans — and, with the new Deep profile, real samples of the table data — instead of estimating from the statement text and the compiled statistics. From plans and execution counters (Standard profile and above): a large table that cached plans walk from end to end instead of using an index, ranked by measured server time; an index no cached plan reads but that is still maintained on every write; a frozen plan; a predicate a plan cannot use an existing index for; up to three missing-index suggestions per table, drawn from the real query pattern instead of a general rule; and a sort that spills to a temporary file. On PostgreSQL, SQL Server and MariaDB/MySQL, the unused- and unread-index findings now come from the server’s own usage counters as well, not only on InterSystems.
- ENH From sampling real data (Deep profile): a bitmap index confirmed or ruled out by an actual count instead of an estimate; a single value that alone carries most of a table, so no index would help; and a mismatch between the statistics the optimiser plans against and the data itself. That last finding is reported only where the numbers really prove it. Where the gathered statistics carry no usable value distribution for a column, the scanner says so instead of deriving a number from it.
- NEW The Profile button next to Start scanning sets how far a run may go: Quick reads server catalogues only and is safe on a production instance, Standard adds the plans and execution counters, Deep additionally samples table data. Reading a stored plan or sampling data never runs or changes anything on the server. Where the scanner cannot answer a question with certainty, or has nothing to work with — an older server, an instance whose execution counters have not been written yet — it says so on the Scanned Objects tab instead of showing a clean result or guessing.
- CHG The SQL Scanner needs a paid licence — Named User or above. It is the feature that demonstrates the IRIS depth of the product, and there is no reduced Free Edition variant: either the run is allowed or it does not start, with the required edition named in the message.
- CHG The SQL Scanner no longer has a Cached Queries tab. Its findings were always the workload findings, and those are in the Findings tab in full, sortable by severity and by share of measured load. The cached query browser is unaffected: it is under Performance > Cached Queries and under every namespace.
- FIX SQL Scanner: the index type advice read column cardinality the wrong way round, so a textbook bitmap candidate (a few values over many rows) was passed over while a column with unique values could be suggested for a bitmap index — the worst possible choice. Both cases now come out right, and the same correction removes false “statistics disagree with the data” errors on tables whose statistics were perfectly fine. Run the scan again.
- FIX Field selectivity (IRIS): after Tune Table the saved selectivity shows the values that were just collected, instead of staying empty. Recent IRIS versions keep tuned statistics outside the class definition, and only the class definition was read. The Notes column now says where a value comes from — a measurement from Tune Table, or a value fixed in the class definition that overrides a newer measurement, which is the usual answer to “I tuned and nothing changed”.
- FIX Cached Query Analyzer (IRIS): the detail pane shows the query text again. It used to end in a message about an invalid document name, because the text was asked for in the wrong place. A cached query purged in the meantime gets a short note saying so instead of an empty pane.
- FIX Cached Queries shows the cached queries of the namespace you picked, not those of the connection’s default namespace. Open the panel for several namespaces and you get several different lists; the tab title starts with the namespace name, the count next to the tree node matches the grid, and Delete Cached Query acts on the namespace you are looking at.
- FIX Clicking the cached query class in the SQL editor’s IRIS statistics line jumps to that row in the Cached Query Analyzer again, instead of reporting that the query is no longer in the list.
- FIX With the IRIS execution statistics switched on, the status bar names the generated cached query class —
Query: %sqlcq…next to the numbers, clickable — for ordinary statements that end with a semicolon. Until now it stayed hidden for almost every statement you type.
Classes, management and IRIS operations
- NEW Export, Import, Copy, Compile and Delete in the Classes context menu now work on IRIS, over the same web server endpoint the Source Code tab uses. A failed compile shows the server’s own error text and compiler output instead of a false success. In 4.00 these five were disabled on IRIS and available on Caché only.
- NEW Terminate Process and Terminate Lock now work on IRIS, not only on Caché. Both ask for confirmation and name what they are about to end, and the status bar reports what the server really did. Where the server declines — no process with that id, a system process, a missing privilege — you get that reason in plain words instead of a technical error. The connection you are working with is never ended from the process list; use Disconnect for that.
Connections, drivers and the driver manager
- NEW Tools > Manage Drivers… can fetch a missing driver file for you. Select Trino on the Generic JDBC tab, press Get Driver File…, and you are shown the exact address, the size, the checksum and the licence before it starts; a progress bar and a Cancel button keep you in control while it runs. The file is checked against its SHA-256 checksum and only kept if it matches — anything else is deleted and no driver is registered. It lands in your user folder, so no administrator rights are needed, and your next connection uses it without a restart. Databricks asks you to accept its licence terms first, so that entry opens the vendor page and takes over the file you downloaded there. Downloads only ever happen when you press the button, always over an encrypted connection to a fixed address that cannot be changed, and Restore shipped path takes you back. Behind a company proxy, the one under Tools > Settings… > Network is used.
- NEW Get any driver version by its Maven coordinate — and from your own repository if you have one. Get Driver File… is now offered for every entry on the Generic JDBC tab, and its new Fetch by Maven coordinate… takes something like
io.trino:trino-jdbc:483and fetches exactly that artifact from Maven Central. You type a coordinate, never an address; the full URL is shown before anything touches the network. A checksum stays mandatory: the one you enter, or the.sha512/.sha256/.sha1the repository publishes next to the file, and you are told which of the two it is and what that does and does not prove. If neither exists, or if the two disagree, nothing is downloaded. Repository… adds your company Nexus or Artifactory once — HTTPS only, no credentials in the address, no redirect to another host, the checksum rule unchanged — after a warning you have to confirm, because a JDBC driver is program code that runs with your rights. - NEW Behind a company proxy that wants a sign-in, getting a driver file no longer ends in an error message. When the proxy asks, SQL DATA LENS asks you — a small window naming the proxy, its port and its realm — and the download carries on. No restart, and nothing to set up beforehand. What you type is kept in memory until you close the program and is never written to a file; it is reused for the rest of the session, so a fetch that makes several requests asks you once. Cancel ends the download cleanly. Credentials go to the proxy and nowhere else — a driver repository asking for a sign-in is still refused without sending anything.
- NEW Tools > Manage Drivers… can export the driver files you added or fetched yourself into a single bundle, and import that bundle on another machine — the way to give a machine without internet access the same driver setup as one that has it. Export Bundle… lets you pick which drivers to include; Import Bundle… shows what a bundle contains, including every file’s checksum, before anything is written. Every checksum is checked again against the actual file during import: a bundle that has been altered, or is missing a checksum, is refused with a clear message instead of being installed. A file or driver entry that already exists on the target machine is left alone.
- NEW Tools > Manage Drivers… can optionally check the driver version you have configured against known security advisories, using the free osv.dev vulnerability database. Off by default — turn it on under Tools > Settings… > Network > Driver Manager, which spells out exactly what is sent (only the driver’s name and version, nothing about you, your connections or your servers). A hit shows its identifier, severity, a short description and a link, next to the affected driver; the existing hand-picked warnings (jTDS and the like) keep showing either way.
- NEW A new InterSystems IRIS driver, version 3.11.0, is included and is the one used for new connections. The seven previous drivers stay in the list, so a connection that names an older one keeps using it. Change it per connection under Driver in the connection properties.
- CHG The Trino and Databricks drivers are no longer part of the download, which makes it 34 MB smaller. Both entries stay in the driver list and Get Driver File… fetches them for you. If the file is missing, SQL DATA LENS names it and points you to that dialog instead of leaving you guessing. The Firebird driver (Jaybird) works the same way: updated to 6.0.6 and fetched through the same dialog rather than shipped. The SQLite driver you already have keeps working unchanged, but Get Driver File… can now also fetch a newer sqlite-jdbc (3.53.4.0) with a verified checksum. Get Driver File… is available for the InterSystems IRIS driver too — useful if the file has gone missing or been damaged; the same driver that ships (3.11.0) is fetched, checksum-verified, so a Caché connection is unaffected.
- ENH Fresher database drivers: PostgreSQL 42.7.13 (was 42.7.4) and Microsoft SQL Server 13.4.0 (was 12.8.1), the latter also behind the Azure SQL and Microsoft Fabric entries. Windows integrated authentication uses the matching new helper library. Existing connections use the new drivers on the next start.
- CHG Microsoft Access and HyperSQL connections run on a newer HyperSQL engine (2.7.4). Access databases open, read and write exactly as before. On a HyperSQL connection, SQL that binds a Java method as a database function is refused — the engine only allows the handful of functions the Access support itself needs.
- INFO Microsoft Access and CSV/DBF connections run on newer driver versions under the hood. Nothing changes in how they behave or what you can do with them.
- FIX SQL Server with integrated security connects reliably now, not just once per session. The first connection of a session worked, every later one was refused with “This driver is not configured for integrated authentication” until SQL DATA LENS was restarted. If the Windows authentication library really is missing, the log names the file it looked for and every folder it searched.
- FIX Excel workbooks can be queried again. A Microsoft Excel connection could be created and it did connect, but every statement on it failed.
SELECT * FROM <sheet>now returns the sheet in the result grid, for.xlsand.xlsxalike, andCREATE TABLE,INSERT INTOandDROP TABLEwrite back into the workbook. Anything beyond that — a column list,WHERE, a join — is answered with a clear message from the driver. - FIX “Connection not open” after a break. Leave a SQL editor idle for a while and the next execution could fail with the driver’s own message, because the server had cleaned up the idle session in the meantime. Connections are now really checked before they are reused and a lost one is replaced before your statement runs, so you see nothing at all. Where that cannot be silent — with autocommit off, where a transaction would be lost — the message says so plainly and nothing is executed. Applies to IRIS, Caché and generic JDBC connections.
- FIX A server that goes silent no longer ties up SQL DATA LENS while it checks whether the connection is still there. That check keeps to a hard limit of two and a half seconds on every database, after which the connection is given up and rebuilt. Long-running queries are unaffected: only your own query timeout or the Cancel button stops them.
- FIX Disconnecting no longer freezes SQL DATA LENS when the server has gone silent — a closed laptop lid, a dropped VPN, a frozen virtual machine. The connection closes in the background and the server node switches to “not connected” straight away, so the window, the menus and your other connections stay usable. Refresh on a connected server node behaves the same way.
- FIX InterSystems IRIS and Caché: after the server has gone away, the panels outside the SQL editor — Global Browser, Processes, Locks, Tasks, Logs and the Data tab of a table — notice it within about two seconds instead of working with the lost connection for up to half a minute. You get a fresh connection instead of a driver message such as “Communication link failure: Connection reset by peer”.
Editions and licensing
- CHG The Free Edition now connects to SQL Server Express. Express is a free edition of SQL Server, so it belongs with the other free databases; until now only the Developer Edition was accepted and an Express instance was turned away. Nothing to set up.
- FIX The Free Edition now connects to HSQLDB (HyperSQL). Its driver has always shipped with SQL DATA LENS, but the edition check turned the connection away. Pick HyperSQL DataBase and connect as usual.
- INFO Apache Derby counts as a free database in the Free Edition, but no Derby driver ships with SQL DATA LENS. Add one yourself under Tools > Manage Drivers…, then connect as with any other database.
- CHG Free Edition, IRIS and Caché: when your account may not read the licence, the message says so and tells you what to do. Reading the licence is a privileged operation, so an ordinary SQL account is refused even on a free Community instance — which used to look as if your server were a commercial one. Either connect with an account that holds
%All, or have your administrator runGRANT EXECUTE ON %SYSTEM.License_Key TO <your user>once. - NEW Help > Manage License shows the licence expiry date and the number of licensed users, has a Manage subscription… button, and a Refresh licence now button that picks a renewal up immediately instead of waiting for the next scheduled check. The status bar mentions a licence that expires within the next 14 days — a quiet hint, no popup.
- FIX Activating a licence takes effect straight away. Until now, connections you had already opened kept refusing commercial databases with the Free Edition message until you restarted SQL DATA LENS — even though the licence dialog had just told you the full edition was active again.
- CHG The activation assistant names Data Prudentia GmbH as the publisher of SQL DATA LENS. Until now it still showed the former publisher, ixdb Systemsoftware. Your existing licence key stays valid.
- FIX Query Cloud: when a source is refused because your edition does not cover its database, the message names the source by the alias you see in the source tree, and the connection behind it — so you can tell which entry it is about even when you have named the source differently from the connection.
Data transfer, export and import
- FIX Data Pumper: a copy from PostgreSQL or SQL Server into InterSystems IRIS or Caché no longer stops at the first row that carries a date, time or timestamp value. Such a copy now runs through, in either direction and between any two of the supported databases.
- ENH The Data Pumper warns when a target timestamp column stores fewer fractional-second digits than the source — a MariaDB
DATETIMEwithout an explicit precision, for example, which keeps whole seconds only. The column mapping names the affected columns; the copy still runs, sub-second precision is simply truncated on write as the target database always did. The same warning appears on the column header tooltip when editing such a column directly in a grid. - FIX Exporting to CSV or text: a value that contains a quotation mark is written as valid CSV, so Excel, other tools and SQL DATA LENS itself read the file back exactly as it was exported. Values like
He said "yes"used to end up unquoted and were torn apart or silently shortened on the way back in. - FIX SQL Server: timestamps survive an XML or Excel export and re-import unchanged. A
DATETIME2value used to come back as 01.01.1970 from XML, and shifted by an hour from Excel. - FIX Import data… and the Data Pumper’s text file import now have a real Null string field, so a marker written by an earlier export — or by any other tool — is read back as NULL instead of as literal text. The setting is remembered, like the other text import options.
Diagrams and presentation
- INFO Diagrams save in a new, safer file format. A diagram saved from this version cannot be opened by a colleague still on an older version sharing the same server — plan for that with a staged rollout, and update every workstation that shares diagrams together. Diagrams saved by older versions still open here as before.
- CHG The severity icons in the SQL Scanner’s Sev. column and in the TLS Assistant’s validation results match what they mean: Error a red circle, Warning the yellow triangle, Info the blue circle — three different shapes, so the list is readable even without colour, and an error no longer looks like a mere warning.
Update to 4.01
Windows 10, 11 and Windows Server (64-bit) · ~130 MB. The installer upgrades in place and keeps your connections, scripts and settings.
Windows 10, 11 and Windows Server (64-bit) · ~130 MB · version 4.01 · full 30-day Pro trial included