When the Core SQL package encounters error conditions, it will raise SQLExceptions, which can be either native exceptions created by the underlying database engine, or an exception containing one of the error codes detailed in this page.
Error codes starting not with "SQL-", but with other characters such as "OC-" or "ADM-" are not created by the Core SQL package, but by other parts of OpenCabinet. Please refer to that module's documentation.
Table "X" not found in the database
The table "X" does not have a primary key
The primary key for "X" has Y columns, you gave me Z
Could not convert "X" from "Y" to an Integer
Query returned more than one result row: X
Connection must not be in auto-commit mode when applying a changeset
No history table is registered for "X"
Invalid JDBC type name "X"
Conflicting update for row "X" in table "Y" at revision Z
Trying to update or delete non-existing row "X" in table "Y" at revision Z
Unsupported locking strategy "X"
Not connected to the database
CLOB "X" is too long (Y characters)
BLOB "X" is too long (Y bytes)
Failed to start transaction when applying a changeset: X
Insert into "Y" conflicts with existing row "X" at revision Z
Failed to obtain row lock, could be a conflicting update for "X" in table "Y" after revision Z
Failed to create a JDBC DataSource: could not find the template "X"
Invalid value for "jdbc.classpath": X
Failed to create a JDBC DataSource: could not parse the template
Failed to create a JDBC DataSource: missing property "X"
Failed to create a JDBC DataSource: classloader base class "X" not found