Error 1472 - SQL statement parameter is required for non-prepared SQLEXEC calls.
LIMS Administrators, Lab Analysts
I received the following error when attempting to save default printer settings within LIMS-plus 3.7.5:
1472 SQL statement parameter is required for non-prepared SQLEXEC calls
Error message received after upgrading to LIMS-plus3.7.5 when saving settings in the PC Default Settings Screen
The cause of the error is due to a null parameter that is being called when the application attempts to update fields within the LIMS database.
The screenshot below is an example of the DBO.PCPREFS table immediately after a database has been updated with the LIMS-plus v3.7.5 update script.
The only two columns that have data are the REP_ID and ROWGUID columns/fields. All other fields will have NULL values to start with.
Note: Normal LIMS-plus Users do not typically have access to the LIMS-plus database. Therefore, they will not have intuitive knowledge regarding the presence of the pcprefs table within the database when the database itself and their client application is upgraded to v3.7.5. Access to the pcprefs table is limited to Database Administrators and LIMS Administrators who have been granted database access.
Analysts who have been informed of a recent upgrade may decide to make sure that their printer default is correct. Listed below is where an analyst would go to setup their Printer default. It is strongly recommended that LIMS administrators review the release notes for the versions of LIMS-pls 3.x they choose to deploy within their production and test environments.
The following errors will occur in succession when a user access Print Setup immediately following the upgrade to LIMS-plus v3.7.5
The user will then be presented with the PC Default Settings window. By default, the application will enter “Windows Defaults” for Reports and Barcodes. However, the Default Evidence Barcode Labels field must have a label select when initially accessing this window after a v3.7.5 upgrade.
The following error “1472 - SQL statement parameter is required for non-prepared SQLEXEC() calls” appears when the user has not selected a Default Evidence Barcode Label.
Clicking OK on the error message window will immediately close out the application and require that the user re-launch the LIMS-plus application.Due to this error, the printer settings selected by the user are not written to the DBO.PCPREFS table.
Steps to avoiding the 1472 error message when initially accessing Print Setup following an upgrade to v3.7.5
Select a Default Evidence Barcode Label
DO NOT LEAVE BLANK
Database administrators / LIMS Administrators will see updated fields for the user within the DBO.PCPREFS table.
User must select a Default Evidence Barcode Label when accessing the PC Default settings screen after client application is upgraded to LIMS-plus v3.7.5 or higher. Failure to do so will result in the 1472 error.
The cause of the error is the "Default Evidence Barcode Labels" field. This field cannot be left blank when initially setting printer defaults by a user.
When a user logs into the LIMS application after an upgrade to LIMS-plus v3.7.5, their printer preferences are not defined. The pcprefs table (new in v3.7.5) will have nulls listed for their user account in the pcprefs table. When this user goes to Printer Setup, he/she will see the following 2 error message in succession:
Error 1 = Invalid DEFAULT Printer Selected: An Invalid DEFAULT Printer Definition is being replaced by Spaces.....click ok
Error 2 = Invalid BARCODE Printer Selected: An Invalid BARCODE Printer Definition is being replaced by Spaces.....click ok.
After clicking ok to the second message, the PC Default Settings window appears. The default printer for Reports and Barcodes will be listed as "Windows Defaults". However, the Default Evidence Barcode Labels field is blank. Leaving this field blank will result in the 1472 error. However, if a label is selected and a user goes back into the Printer Setup and then selects the blank as the Default Evidence Barcode Label, the system will successfully update the database within SQL. This applies SQL and Oracle environments
The Default Evidence Barcode Label selected within lims is stored in the DefBcSub column found in the pcprefs table. The database properties for this field state that a null value can be present.