NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Is there a way to create a database with Test Stand?

Anyone know of a way to have Test Stand create a database? My company standard MS Office suite is Microsoft Access 2010, and TestStand does not support the .accmdb extension type(format), so I have to create new databases using old formats. I'm worried about backwards compatability down the road since good ole Microsoft doesn't seem to care about legacy formats.

 

I'm still a beginner with databasing, so any suggestions would be greatly appreciated.

0 Kudos
Message 1 of 8
(6,839 Views)

ATE Dude -

What version of TestStand are you using? Are you trying to log results from executions or are you trying to log data using the database step types? If logging results from executions, what schema are you wanting to use?

Scott Richardson
https://testeract.com
0 Kudos
Message 2 of 8
(6,815 Views)

TestStand 2012 SP1, and  we are using a modified Generic Recordset (NI). The problem we are having right now is that the Build SQL instructions are not creating the database tables the way we are configuring them from the "Statements" and "Column/Parameters" tabs under Database Options.

 

What is happening is when we validate the schema, and drop all schema tables, it empties all the database tables, but then when you build using the TestStand generated sql file, we get errors(shown below) we are not understanding, and we can no longer write to the database and LabVIEW throws a "Data type mismatch in criteria expression" error like this

 

"Possible reason(s):
ADO Error: 0x80040E07
Exception occured in Microsoft JET Database Engine: Data type mismatch in criteria expression. in NI_Database_API.lvlib:Conn Execute.vi->TSData - Query Actions.vi->Retrieve Test Data.vi->ARA-63 Data Miner.vi->ARA-63 Data Miner.vi.ProxyCaller"

 

==================================================================================================== > CREATE TABLE UUT_RESULT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, STATION_ID VarChar(255), BATCH_SERIAL_NUMBER VarChar(255), TEST_SOCKET_INDEX Long, UUT_SERIAL_NUMBER VarChar(255), USER_LOGIN_NAME VarChar(255), START_DATE_TIME DateTime, EXECUTION_TIME Double, UUT_STATUS VarChar(32), UUT_ERROR_CODE Long, UUT_ERROR_MESSAGE VarChar(255), PART_NUMBER VarChar(255), TSR_FILE_NAME VarChar(255), TSR_FILE_ID VarChar(64), TSR_FILE_CLOSED Bit, PART_NAME VarChar(255), PRG VarChar(255), Comment VarChar(255), Operator VarChar(255)) Command issued.

> CREATE TABLE STEP_RESULT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, UUT_RESULT Long, STEP_PARENT Long, ORDER_NUMBER Long, STEP_NAME VarChar(255), STEP_TYPE VarChar(255), STEP_GROUP VarChar(32), STEP_INDEX Long, STEP_ID VarChar(32), STATUS VarChar(255), REPORT_TEXT VarChar(255), ERROR_CODE Long, ERROR_MESSAGE VarChar(255), CAUSED_SEQFAIL Bit, MODULE_TIME Double, TOTAL_TIME Double, NUM_LOOPS Long, NUM_PASSED Long, NUM_FAILED Long, ENDING_LOOP_INDEX Long, LOOP_INDEX Long, INTERACTIVE_EXENUM Long, CONSTRAINT STEP_RESULT_FK FOREIGN KEY (UUT_RESULT) REFERENCES UUT_RESULT (ID)) Command issued.

> CREATE TABLE STEP_SEQCALL ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, STEP_RESULT Long, SEQUENCE_NAME VarChar(255), SEQUENCE_FILE_PATH LongText, CONSTRAINT STEP_SEQCALL_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)) Command issued.

> CREATE TABLE PROP_RESULT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, STEP_RESULT Long, PROP_PARENT Long, ORDER_NUMBER Long, NAME VarChar(255), PATH LongText, CATEGORY Long, TYPE_VALUE Long, TYPE_NAME VarChar(255), DISPLAY_FORMAT VarChar(32), DATA Double, FORMATTED_DATA VarChar(255), CONSTRAINT STEP_NUMERICLIMIT1_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)) Command issued.

> CREATE TABLE PROP_NUMERICLIMIT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, COMP_OPERATOR VarChar(32), HIGH_LIMIT Double, LOW_LIMIT Double, UNITS VarChar(255), STATUS VarChar(255), HIGH_LIMIT_FORMATTED VarChar(255), LOW_LIMIT_FORMATTED VarChar(255), CONSTRAINT STEP_NUMERICLIMIT2_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command issued.

> CREATE TABLE PROP_RESULT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, STEP_RESULT Long, PROP_PARENT Long, ORDER_NUMBER Long, NAME VarChar(255), PATH VarChar(255), CATEGORY Long, TYPE_VALUE Long, TYPE_NAME VarChar(255), DISPLAY_FORMAT VarChar(32), DATA VarChar(255), FORMATTED_DATA VarChar(255), CONSTRAINT PROP_MULTINUMERICLIMIT1_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID), CONSTRAINT PROP_MULTINUMERICLIMIT1_FK FOREIGN KEY (PROP_PARENT) REFERENCES PROP_RESULT (ID)) Command failed with the following error...: Table 'PROP_RESULT' already exists. (-2147217900)

> CREATE TABLE PROP_NUMERICLIMIT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, COMP_OPERATOR VarChar(32), HIGH_LIMIT Double, LOW_LIMIT Double, UNITS VarChar(255), STATUS VarChar(255), HIGH_LIMIT_FORMATTED VarChar(255), LOW_LIMIT_FORMATTED VarChar(255), CONSTRAINT PROP_MULTINUMERICLIMIT2_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command failed with the following error...: Table 'PROP_NUMERICLIMIT' already exists. (-2147217900)

> CREATE TABLE PROP_RESULT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, STEP_RESULT Long, PROP_PARENT Long, ORDER_NUMBER Long, NAME VarChar(255), PATH VarChar(255), CATEGORY Long, TYPE_VALUE Long, TYPE_NAME VarChar(255), DISPLAY_FORMAT VarChar(32), DATA VarChar(255), FORMATTED_DATA VarChar(255), CONSTRAINT PROP_RESULT_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)) Command failed with the following error...: Table 'PROP_RESULT' already exists. (-2147217900)

> CREATE TABLE PROP_ANALOGWAVEFORM ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, INITIAL_T DateTime, DELTA_T Double, INITIAL_X Double, DELTA_X Double, UPPER_BOUNDS VarChar(32), LOWER_BOUNDS VarChar(32), DATA_FORMAT VarChar(32), DATA LongBinary, ATTRIBUTES LongText, CONSTRAINT PROP_ANALOGWAVEFORM_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command issued.

> CREATE TABLE PROP_DIGITALWAVEFORM ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, INITIAL_T DateTime, DELTA_T Double, UPPER_BOUNDS VarChar(32), LOWER_BOUNDS VarChar(32), TRANSITIONS LongBinary, DATA LongBinary, ATTRIBUTES LongText, CONSTRAINT PROP_DIGITALWAVEFORM_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command issued.

> CREATE TABLE PROP_ANALOGWAVEFORM ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, INITIAL_X Double, DELTA_X Double, UPPER_BOUNDS VarChar(32), LOWER_BOUNDS VarChar(32), DATA_FORMAT VarChar(32), DATA LongBinary, ATTRIBUTES LongText, CONSTRAINT PROP_IVIWAVE_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command failed with the following error...: Table 'PROP_ANALOGWAVEFORM' already exists. (-2147217900)

> CREATE TABLE PROP_ANALOGWAVEFORM ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, INITIAL_X Double, DELTA_X Double, UPPER_BOUNDS VarChar(32), LOWER_BOUNDS VarChar(32), DATA_FORMAT VarChar(32), DATA LongBinary, ATTRIBUTES LongText, CONSTRAINT PROP_IVIWAVEPAIR_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command failed with the following error...: Table 'PROP_ANALOGWAVEFORM' already exists. (-2147217900)

> CREATE TABLE PROP_BINARY ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, UPPER_BOUNDS VarChar(32), LOWER_BOUNDS VarChar(32), DATA_FORMAT VarChar(32), DATA LongBinary, CONSTRAINT PROP_BINARY_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command issued.

 

0 Kudos
Message 3 of 8
(6,810 Views)

ATE Dude -

There are some known issues with the feature that generates a script from a schema.The "Access Create Generic Recordset Result Tables.sql" file under the C:\Program Files (x86)\National Instruments\TestStand 2012\Components\Models\TestStandModels\Database\ directory is the script file that TestStand includes that will match the default schema.

 

I would recommend that you manually copy the "Access Create Generic Recordset Result Tables.sql" file and make appropraite changes to this script to match the changes that you have made to the schema. Use this modified script to create the tables in the database.

Scott Richardson
https://testeract.com
0 Kudos
Message 4 of 8
(6,790 Views)

Thanks Scott.

 

Any idea on the timeframe for these issues to be corrected?

0 Kudos
Message 5 of 8
(6,779 Views)

To ATE Dude -

Our understanding is that most customers use default schemas so the existing database scripts are sufficient. We have heard of a some customers hitting the issues that you have mentioned, so this is something that we would like to address in the future. Although the generated scripts are not always correct, most of what is generated can be corrected. At this point we have not targeted a specific release for fixing this, but it is higher on our "under consideration" list.

 

Scott Richardson
https://testeract.com
0 Kudos
Message 6 of 8
(6,772 Views)

Well, just so you guys know, even if you are using the Generic Recordset Schema without any modification, when you build the SQL file and execute those instructions, it doesn't rebuild the tables the way the schema is setup?!?!?

 

This problem makes it virtually impossible to use the built in utility provided with TestStand to re-build the database tables.

Message 7 of 8
(6,755 Views)

Hey Scott,

 

Looks like it's been more than 5 years since you mentioned this in another thread.  (Wish I had read that back then).  It would be great if NI could improve the tool or at a minimum have the default schemas work.  Thanks for your consideration.

 

If anybody agrees, please vote for the idea here.


Certified LabVIEW Architect
TestScript: Free Python/LabVIEW Connector

One global to rule them all,
One double-click to find them,
One interface to bring them all
and in the panel bind them.
0 Kudos
Message 8 of 8
(6,061 Views)