TestStand Error -2147217900 When Inserting Data Into an Access Database

Updated Dec 12, 2022

Reported In

Software

  • TestStand 2016 SP1

Issue Details

When logging to Database A Non-Finite Value (NAN, INF, -INF, IND) I get the following error:
An error occurred calling 'LogResults' in 'ITSDBLog' of 'zNI TestStand Database Logging' 
An error occurred executing a statement. 
Schema: Axcelis Schema With Preconditions 
Statement: STEP_NUMERICLIMIT. 

Description: The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 10 (""): The supplied value is not a valid instance of data type float. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision 

Number: -2147217900 
NativeError: 8023 
SQLState: 42000 
Reported by: Microsoft OLE DB Provider for SQL Server 
Source: TSDBLog

What can I do?

Solution

Becasue Microsoft SQL Server has no support for non-finite values for its FLOAT data type we need to modify the schema to filter non-finite values.

  1. Open the Schemas by clicking on Configure>>Result Processing... In the Result Processing window click on the hammer and wrench icon in the Database line to open the Database Options dialog box.
  2. Go to the Schemas tab and expand the Schema currently being used.
  3. We will modify PROP_RESULT table. Change the 'Precondition' expression for the following columns/parameters:

STEP_NUMERICLIMIT1.DATA

Logging.DatabaseOptions.IncludeOutputValues && Logging.StepResult.Numeric != NAN && Logging.StepResult.Numeric != INF && Logging.StepResult.Numeric != -INF && Logging.StepResult.Numeric != IND

PROP_MULTINUMERICLIMIT1.DATA

Logging.DatabaseOptions.IncludeOutputValues && Logging.PropertyResult.Data != NAN && Logging.PropertyResult.Data != INF && Logging.PropertyResult.Data != -INF && Logging.PropertyResult.Data != IND
 

  1. If you are getting an unknown variable error:

An error occurred calling 'LogResults' in 'ITSDBLog' of 'zNI TestStand Database Logging' 
An error occurred evaluating a database statement/column precondition. 
Schema: Axcelis Schema With Preconditions 
Statement: MEAS_NUMERICLIMIT. 
Column: DATA 
Property: Measurement.[Measurement 0] 
Error in argument 1, 'Logging.StepResult.Numeric != NAN', in call to the expression function '#NoValidation'. 
Unknown variable or property name 'Logging.StepResult.Numeric'. 
Source: TSDBLog

Try modifying the Precondition in PROP_RESULT table in STEP_NUMERICLIMIT1.DATA:

""Logging.PropertyResult.Data" instead of "Logging.StepResult.Numeric
i.e: Logging.DatabaseOptions.IncludeOutputValues && (Logging.PropertyResult.Data != NAN) ​

  1. Restart TestStand to reload changes made to the schema.