NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

result processing database change

Solved!
Go to solution

Hello everybody,

 

I have a question regarding changing the database use for the result processing. My environment is Teststand 2014, LabView 2014.

 

I need to be able to change the database used for storing the result data programmatically. I am using the simple UI example provided by TestStand as a starting point to build the user interface. The way I do this is by creating a station global variable (StationGlobals.DBName) in the TestStand. User can select his database via a combo box on the user interface. When user execute a sequence, Teststand requested from the UI the database name selected by the user (using UIMessage).

 

It does not work the way I wanted. It is best to described the symptom using the use case below:

1. Start UI

2. Choose a database (DB-A)

3. Run a sequence

4. Check the result data tables in DB-A. It works.

5. Choose another database (DB-B)

6. Run the same sequence

7. Check the result data tables in DB-B. They are not DB-B.

8. Check the result data tables in DB-A. They are in DB-A.

 

It seems that the station global variable can only be passed to the database configuration before I started to run any sequence. By the next sequence test, it does not take effect anymore.

 

I wonder if I need to modify a callback to make it work properly.

 

Any idea why it is behaving this way? Below is a screen shot of my database configuration:

 

Thanks in advance for any pointer.

Yours,

hlim

DBConfig.jpg

 

Message 1 of 4
(4,169 Views)

from many versions of TS ago...

TS reatains a open handle to that database logging context across executions -- not expecting it to change.

you need to clear out that handle between executions.  Insert a line at the end of logging (requires process model modification, or results processor modification, or implementing callbacks for results processor in each sequence file) that sets RunState.Execution.TSDatabaseLoggingDatalinkXXXXX = nothing.   XXXXXX needs to be replaced with your schema name.  (this is where setting a breakpoint and using the debugger will help get the right variable name)

Message 2 of 4
(4,159 Views)

Thanks Warren_Scott for the information. I will try to look into setting the handle. I will report back.

0 Kudos
Message 3 of 4
(4,145 Views)
Solution
Accepted by topic author hlim

Hello Warren_Scott,

apparently in my case, where I am changing the database between executions, I can just disable the 'Share Data Link Between Executions' option in the Result Processing->Database option and it will work. Thanks for your suggestions.

 

Yours,

hlim

0 Kudos
Message 4 of 4
(4,088 Views)