On this page
Error messages
BroadSQL's own messages, grouped by subject, each with what it means, its usual causes and what to do. Parts that change from one occurrence to another are written <like this>. Every message has its own link: use "Link to this message" to share it.
The fastest way to find a message is the search: press / and paste the message. Errors that come from the database itself (a SQL syntax error, a constraint) are reported with the database's own text and SQLState; see your database's documentation for them.
Starting and connecting
No active database connection. Use CONNECT <connection> first.
- What it means
- You typed SQL, or a command that needs a database, while no database connection is open.
- Typical causes
- BroadSQL starts at the
BroadSQL>prompt, without a connection (since 5.5.0). - You closed the connection with
DISCONNECT,BYEorCLOSE, or ended the session withLOGOUT.
- BroadSQL starts at the
- What to do
- Open a connection with
CONNECT <id>;. To start on a connection, pass it to the launcher (connect.bat WORLD) or setRememberLastConnection=TRUE. - See
- Starting, connecting and logging out
Cannot connect to '<connection>': JDBC driver class '<class>' for type '<type>' was not found. Copy the matching driver .jar file into the drivers/ or lib/ folder and restart BroadSQL, then try again.
- What it means
- The JDBC driver of this connection's database type is not installed.
- Typical causes
- The vendor's driver JAR was never copied into
drivers. - The JAR was copied while BroadSQL was running: drivers are found at startup.
- The vendor's driver JAR was never copied into
- What to do
- Copy the driver JAR into
drivers, restart BroadSQL, and check withSHOW DRIVERS;. - See
- Connect to your database
Cannot switch to Environment '<environment>': <reason>
- What it means
ENVcould not find or open the connection of that Environment in the current Database Group. The current connection stays open.- Typical causes
- The current connection has no Database Group (it is standalone).
- The Environment does not exist, for example
Environment 'NOPE' does not exist. - The Database Group has no connection for that Environment, or that connection is inactive or cannot be opened.
- What to do
SHOW GROUP;lists the connections of the current Database Group by Environment;SHOW ALL ENVIRONMENTS;lists the Environments.- See
- CONNECT versus ENV
CONNECT refused: connection '<connection>' opens the BroadSQL configuration database (CDF).
- What it means
- The connection's URL points to BroadSQL's own configuration database, which is never opened as an ordinary connection.
- Typical causes
- A connection created in an earlier release, or by hand, points to the CDF file or a copy of it.
- What to do
- Delete that connection with
DEL CONNECTION <connection>;. For maintenance, useCONNECT $CDFat the prompt. - See
- The configuration database (CDF)
Authentication required: enter the master password first.
- What it means
- The session is locked: nothing runs until the master password is typed again.
- Typical causes
- You ran
LOGOUT(orLOGOFF). - What to do
- Type the master password at the prompt.
- See
- Logging out
Production confirmation
Production change refused on connection '<connection>': the change was not confirmed. Nothing was executed. SQLState BSQPR
- What it means
- The connection belongs to an Environment flagged Production, the statement can change the database, and it was not confirmed. Nothing was sent to the database.
- Typical causes
- You answered
no, gave an empty or another answer, or pressed Ctrl+C atExecute? [yes/no]. - What to do
- Run the statement again and answer
yes(ory) if the change is intended. In a Script, the refusal stops the whole run. - See
- Production confirmation
Production change refused on connection '<connection>': confirmation is required and no interactive confirmation is available. Nothing was executed.
- What it means
- BroadSQL could not ask the question, so the change to a Production database was refused. No setting turns this off.
- Typical causes
- BroadSQL's input is redirected from a file, or no interactive terminal is attached.
- What to do
- Run the change in an interactive session, or run the automated work on a connection of a non-Production Environment.
- See
- Without a terminal, A report Script that stops at the first failure
Run stopped: a Production change was refused at statement <n> of Script <name> (line <line>).
- What it means
- A statement of the Script was refused on a Production connection, so the whole run stopped, nested Scripts included. Statements already executed stay executed.
- Typical causes
- The confirmation was refused, or could not be asked.
- What to do
- Check what the Script already changed, then run it again and confirm, or change the Script.
- See
- Scripts, typed lines and the Editor
Scripts, arguments and variables
<script> requires argument <name> (declared in @param): pass it as name=value, or define a variable of that name with LET before the call
- What it means
- A required parameter of the Script received no value. No statement ran and no variable was assigned.
- Typical causes
- The call did not pass
<name>=..., and no session variable of that name exists. - What to do
- Pass it in the call, set it first with
LET <name> = ...;, or give it a default in its-- @paramline. - See
- Where a parameter's value comes from
<script>: argument <name> is declared <TYPE>: <value> is <kind of value>
- What it means
- A value does not match the type declared by
-- @param, for exampleargument min_population is declared INTEGER: 'many' is a text value. The Script did not start. - Typical causes
- A number written in quotes, or text without quotes.
- A date written in another form than
'yyyy-MM-dd'. - A session variable of the wrong type (the message then names it).
- What to do
- Write the value in the form of its type: see the conversion table.
- See
- Reference: conversions
Invalid script argument '<value>': positional script arguments (%1..%9) were removed: pass arguments as name=value and read them with ${name}
- What it means
- The call passed a value without a name, in the form of earlier releases.
- Typical causes
- A Script or a habit from before named arguments.
- What to do
- Name every argument (
id=42) and read it in the Script as${id}.LIB LINT;lists the%1to%9left in the library. - See
- From %1..%9 to named arguments
Variable <name> is not defined.
- What it means
- A statement uses
${<name>}, but no variable or argument of that name exists. - Typical causes
- A typo in the name.
- The value was never set with
LETor passed as an argument. - An older BroadSQL ignores
@paramdefaults.
- What to do
SHOW SCRIPT VARIABLES;lists the defined variables. Declare the parameter with-- @param, or set it withLET.- See
- Variables
Script <name> stopped by ON ERROR STOP at statement <n> (line <line>)
- What it means
- The Script runs with
ON ERROR STOPand a statement failed: nothing after it ran, not even aCOMMIT. The status isFAILED. - Typical causes
- The error printed just before this line.
- What to do
- Fix the failed statement, then run the Script again.
- See
- Error handling: ON ERROR
WARNING: Pending changes since the last COMMIT on <connection> were rolled back.
- What it means
- A statement failed with
Autocommitoff, so BroadSQL rolled back the pending transaction: earlier uncommitted changes are lost too. - Typical causes
- A SQL error in a Script or at the prompt.
- A cancelled statement that the database reported as an error.
- What to do
- Run the lost changes again. When changes must be kept or lost together, use
ON ERROR STOPin Scripts. - See
- Continuing is not keeping the transaction
The script <name> is written for <dialect>; the current connection's type is <type>
- What it means
- A warning, not an error: the Script's
-- @dialectline names other database types. It runs anyway. - Typical causes
- The Script was written for another database, or the wrong connection is open.
- What to do
- Check the connection with
SHOW CONNECTION;, or correct the Script's-- @dialectline. - See
- What @access and @dialect do
List sources
Unclosed list source '<excerpt>': a <@...> reference must end with '>' on the same line
- What it means
- A
<@starts a list source but its closing>is missing on that line. Nothing ran. - Typical causes
- A typo, or a list source split over two lines.
- What to do
- Close it on the same line, for example
IN <@ids.txt>. - See
- Where a list source starts and ends
Clipboard contains multiple columns. <@clipboard> expects a single column.
- What it means
- A copied line holds a tab: several spreadsheet columns were copied together.
- Typical causes
- Two or more columns selected when copying.
- What to do
- Copy one column only, or read the sheet with
<@excel:<file>:<sheet>:<column>>. - See
- <@clipboard>
The system clipboard is not available: no graphical environment access to it in this session.
- What it means
- BroadSQL cannot reach a clipboard in this session.
- Typical causes
- BroadSQL runs without a graphical environment, for example over a remote terminal on Linux.
- What to do
- Put the values in a text file and use
<@file>instead. - See
- List sources
Export
APPEND refused: destination has <n> columns but query returns <m>. APPEND requires the same columns, with the same names, in the same order.
- What it means
MODE APPENDadds rows only when the result has the destination's columns, with the same names, in the same order. Nothing was written.- Typical causes
- The query returns more or fewer columns than the table or worksheet.
- What to do
- Select exactly the destination's columns, aliased to its names (
CI.NAME AS CITY). - See
- MODE APPEND
MERGE refused: <n> source row(s) have a NULL key (<columns>). Nothing was written.
- What it means
MODE MERGE KEYidentifies rows by their key, and some source rows have none.- Typical causes
- A key column that can be
NULLin the source, or an outer join. - What to do
- Filter those rows out (
WHERE <key> IS NOT NULL), or choose a key that is neverNULL. - See
- MODE MERGE KEY
DUMP LIB <script> not exported: the script finished with status <status>
- What it means
DUMP LIBwrites a Script's result only when the run ends withSUCCESS. Nothing was written.- Typical causes
- A statement failed (
COMPLETED_WITH_ERRORSorFAILED), or the run was cancelled. - What to do
- Read the errors of the run above this line, fix them, and run the export again.
- See
- Exporting Script results
DUMP refused: this destination is the BroadSQL Connections Definition File ($CDF), a protected BroadSQL system database. It cannot be used as a write destination for DUMP, PULL or EXPORT. Nothing was written. Choose another destination.
- What it means
- The destination is BroadSQL's configuration database, which no export may write into.
- Typical causes
TO $CDF.<table>, or a connection that opens the same file.- What to do
- Choose another destination, for example a new local database:
TO WORKCOPY.<table> AS H2. - See
- The CDF is never a destination
Master password and configuration database
The CDF is in use by another process (possibly being upgraded). Close the other BroadSQL and start again.
- What it means
- Another BroadSQL has the configuration database open, possibly while upgrading it.
- Typical causes
- Two BroadSQL sessions started on the same installation at the same time.
- What to do
- Close the other BroadSQL, then start again.
- See
- Before installing a new release
The master password was NOT changed: the CDF is in use by another BroadSQL
- What it means
SET MASTER PASSWORDneeds the only open copy of the CDF. Nothing was changed.- Typical causes
- Another BroadSQL session uses the same CDF.
- What to do
- Close the other sessions, then run the command again.
- See
- Changing the master password
The new master password contains a space.
- What it means
- The new password was refused before anything changed: the database engine could not reopen a file encrypted with it.
- Typical causes
- A space, or a character outside the accepted set.
- What to do
- Choose a password from the accepted characters, for example a long passphrase joined by symbols.
- See
- Accepted characters
An earlier master-password change was interrupted and is not resolved yet
- What it means
- A master-password change stopped before its end, and BroadSQL has not sorted the files out yet.
- Typical causes
- A crash or a power cut during
SET MASTER PASSWORD. - What to do
LOGOUT;, then log in: BroadSQL completes or undoes the change.- See
- Master password recovery
Activity log
Unable to write to log file
- What it means
- The activity log could not be written, and logging is off for the rest of the session.
- Typical causes
- The folder of
LogFolderNamedoes not exist. The Windows default,C:\BroadSQL\logs, does not exist out of the box. - What to do
- Set
LogFolderName=logs(the installation's own folder) or create the folder, then restart BroadSQL. - See
- Command activity log
API Client (experimental)
No API is connected. Use CONNECT API <api>:<environment>; before RUN.
- What it means
RUNneeds an API session.- Typical causes
- No
CONNECT APIwas run in this session. - What to do
CONNECT API <api>:<environment>;, thenRUN.- See
- Running an endpoint
No endpoint matches: <request>
- What it means
- No active endpoint of the connected API has this method and path shape.
- Typical causes
- A typo in the path, the wrong method, or an inactive endpoint.
- What to do
SHOW ENDPOINTS;lists the endpoints of the connected API.- See
- Executing an inactive API, endpoint, or environment
Unable to resolve variable: <name>
- What it means
- A
${name}used by an enabled part of the request has no value. - Typical causes
- The variable is defined at no level of the API: API, environment, folder or endpoint.
- A difference of case: variable names are case-sensitive.
- What to do
- Define it in
CONFIG APIat the level where it belongs, with the same case as in the request. - See
- Variables
Execution refused. Method <method> is not enabled for execution in this release.
- What it means
- The method, or the request body format, cannot be executed in this release.
- Typical causes
- A method such as
OPTIONS, or aform-urlencodedormultipart-formbody. - What to do
- See what this release executes.
- See
- Executing an unsupported method or body
API '<api>' is inactive. <details>
- What it means
- The API, or its environment, was deactivated.
- Typical causes
- Deactivated in
CONFIG API. - What to do
- Reactivate it in
CONFIG API. - See
- Executing an inactive API, endpoint, or environment
DUMP API RESULT: no API execution result held in memory. Run RUN first.
- What it means
- There is no API result to export.
- Typical causes
- The last call did not succeed, or none was made.
- What to do
RUNthe request, thenDUMP API RESULT TO <file> AS <format>;.- See
- Exporting API results
Related
Found something wrong or unclear on this page? Tell us, with the page address.