Sergio -
When I played with MySQL and TestStand 2.0, I did not have much success with the MySQL ODBC driver and TestStand. Instead I used the MyOLEDB Provider v3.0 and had better luck.
Keep in mind that in TestStand 2.0, the database logging feature is fully customizable using a configuration dialog. TestStand 1.0.3 used a sequence and this turned out more work and slower. I would recommend either upgrading to TestStand 2.0 or at least looking at an evaluation version to review its database logging feature. I think that you will find it a lot nicer and customizable.
If I remember correctly when using TS 2.0 and its database logging feature, using a SELECT command and using a primary key of type INTEGER AUTO_INCREMENT, the field did not return a value immediately so setting up a relationship between the UUT table and the STEP table was not possible, even when specifying a server cursor.
Instead I used a VARCHAR primary key and used INSERT commands by specifying a GUID as the key value. Below is an old file that I found that I might have used.
You may find that you have to limit the type of data that you write out and create a simpler schema.
In TestStand 2.0, the DBMS string is arbitrary, the schema definition does not use this string value to make any decisions during logging.
Scott Richardson (NI)
// SQL commands to create the RESULT tables in an SQL Server database.
// Keys for each table are 32 character GUIDs
CREATE TABLE UUT_RESULT
(
ID VARCHAR (38) PRIMARY KEY,
STATION_ID CHAR (255),
BATCH_SERIAL_NUMBER CHAR (255),
TEST_SOCKET_INDEX INT,
UUT_SERIAL_NUMBER CHAR (255),
USER_LOGIN_NAME CHAR (255),
START_DATE_TIME DATETIME,
EXECUTION_TIME FLOAT,
UUT_STATUS CHAR (255),
UUT_ERROR_CODE INT,
UUT_ERROR_MESSAGE CHAR (255)
)
~
CREATE TABLE STEP_RESULT
(
ID VARCHAR (38) PRIMARY KEY,
UUT_RESULT VARCHAR (38) NOT NULL,
STEP_PARENT VARCHAR (38) ,
STEP_NAME CHAR (255),
STEP_TYPE CHAR (255),
STATUS CHAR (255),
REPORT_TEXT CHAR (255),
ERROR_CODE INT,
ERROR_MESSAGE CHAR (255),
MODULE_TIME FLOAT,
TOTAL_TIME FLOAT,
NUM_LOOPS INT,
NUM_PASSED INT,
NUM_FAILED INT,
ENDING_LOOP_INDEX INT,
LOOP_INDEX INT,
INTERACTIVE_EXENUM INT,
STEP_GROUP CHAR (30),
STEP_INDEX INT,
ORDER_NUMBER INT,
CONSTRAINT UUT_RESULT_FK FOREIGN KEY (UUT_RESULT) REFERENCES UUT_RESULT (ID)
)
~
CREATE TABLE STEP_PASSFAIL
(
ID VARCHAR (38) PRIMARY KEY,
STEP_RESULT VARCHAR (38) NOT NULL,
PASS_FAIL TINYINT,
CONSTRAINT STEP_PASSFAIL_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
)
~
CREATE TABLE STEP_STRINGVALUE
(
ID VARCHAR (38) PRIMARY KEY,
STEP_RESULT VARCHAR (38) NOT NULL,
COMP_OPERATOR CHAR (30),
STRING_LIMIT CHAR (255),
STRING_VALUE CHAR (255),
CONSTRAINT STEP_STRINGVALUE_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
)
~
CREATE TABLE STEP_MSGPOPUP
(
ID VARCHAR (38) PRIMARY KEY,
STEP_RESULT VARCHAR (38) NOT NULL,
BUTTON_PRESSED INT,
RESPONSE CHAR (255),
CONSTRAINT STEP_MSGPOPUP_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
)
~
CREATE TABLE STEP_CALLEXE
(
ID VARCHAR (38) PRIMARY KEY,
STEP_RESULT VARCHAR (38) NOT NULL,
EXIT_CODE INT,
CONSTRAINT STEP_CALLEXE_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
)
~
CREATE TABLE STEP_SEQCALL
(
ID VARCHAR (38) PRIMARY KEY,
STEP_RESULT VARCHAR (38) NOT NULL,
SEQUENCE_NAME CHAR (255),
SEQUENCE_FILE_PATH CHAR (255),
CONSTRAINT STEP_SEQCALL_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
)
~
CREATE TABLE STEP_PROPERTYLOADER
(
ID VARCHAR (38) PRIMARY KEY,
STEP_RESULT VARCHAR (38) NOT NULL,
NUM_PROP_READ INT,
NUM_PROP_APPLIED INT,
CONSTRAINT STEP_PROPERTYLOADER_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
)
~
CREATE TABLE MEAS_NUMERICLIMIT
(
ID VARCHAR (38) PRIMARY KEY,
STEP_RESULT VARCHAR (38) NOT NULL,
NAME CHAR (255),
COMP_OPERATOR CHAR (30),
HIGH_LIMIT FLOAT,
LOW_LIMIT FLOAT,
UNITS CHAR (255),
DATA FLOAT,
STATUS CHAR (255),
CONSTRAINT MEAS_NUMERICLIMIT_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
)
~
CREATE TABLE MEAS_IVI_SINGLEPOINT
(
ID VARCHAR (38) PRIMARY KEY,
STEP_RESULT VARCHAR (38) NOT NULL,
TYPE INT,
CHANNEL CHAR (255),
DATA FLOAT,
CONSTRAINT MEAS_IVI_SINGLEPOINT_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
)
~
CREATE TABLE MEAS_IVI_WAVE
(
ID VARCHAR (38) PRIMARY KEY,
STEP_RESULT VARCHAR (38) NOT NULL,
TYPE INT,
CHANNEL CHAR (255),
INITIALX FLOAT,
DELTAX FLOAT,
DATA LONGBLOB,
CONSTRAINT MEAS_IVI_WAVE_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
)
~
CREATE TABLE MEAS_IVI_WAVEPAIR
(
ID VARCHAR (38) PRIMARY KEY,
STEP_RESULT VARCHAR (38) NOT NULL,
TYPE INT,
CHANNEL CHAR (255),
INITIALX FLOAT,
DELTAX FLOAT,
DATA0 LONGBLOB,
DATA1 LONGBLOB,
CONSTRAINT MEAS_IVI_WAVEPAIR_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)
)
~
Scott Richardson
https://testeract.com