Troubleshooting
DataPad surfaces real errors instead of generic messages. When something fails, the UI shows a structured error with the error **code**, the real **message**, the **channel** it came from, and a **detail** line naming the exact state.
Troubleshooting
DataPad surfaces real errors instead of generic messages. When something fails, the UI shows a structured error with the error code, the real message, the channel it came from, and a detail line naming the exact state.
Read an error
- A dialog error appears inside the dialog that raised it, above its action row.
- A background failure appears as the shell’s error chip, which shows the error code and its message (the hover title carries the full code and message).
- The output pane’s Data writes and result errors render in the pane, with the generated SQL and bound parameter values where the host reports them.
- Connection strings are masked in every error and log; a raw password never reaches the screen or the log.
Common situations
A connection test fails. The dialog’s Test control shows the provider’s real masked error. Check the provider, the host and port, and the credentials in the connection string; connection strings are stored as entered, so a trailing character matters.
A connection has no schema. A saved connection with no cached schema reports the actual state and names Refresh; run Refresh, or Test from the tree, to read it.
An EF DLL connection is refused. An EF DLL connection whose physical database schema was never verified reports as much, because the raw tree would otherwise repeat the model’s spelling. Point the connection at a reachable database (so Refresh can read the physical names), or save a build whose context names its provider.
A run fails to compile. The output shows the compiler’s diagnostic with its line number. Hover the squiggle for the message and its Roslyn code. IntelliSense and the editor error popup are Pro capabilities; compilation and running work without them.
The app cannot start. If DataPad cannot resolve its app data folder, or the folder is unusable, it prints the real reason and exits rather than opening a half-initialised window. The reason names the folder it tried.
The MCP server does not start / a port is busy. DataPad scans forward from the configured port. If no
port in the scan window is free it reports MCP_PORT_UNAVAILABLE; a non-port start failure reports
MCP_START_FAILED with the real reason. Change the port in Settings → MCP server.
An agent cannot see a script. Check the script-visibility setting and the script’s own access override: a script marked Never, or a Default script under No scripts, is refused by id and shown as not readable.
Connections are locked. The store is encrypted and the session is locked. Unlock with the phrase; a wrong phrase can be retried, but a tampered store cannot.