如何使用 TestStand 將資料欄位添加到現有資料庫

更新 Feb 3, 2025

環境

軟體

  • TestStand

此文章展示如何在TestStand Database options 中在現有資料庫schema添加/編輯新schema。具體來說,這篇文章教你:

  1. 辨別如何複製現有schema sets和添加額外的欄位或參數
  2. 注意如何將新schema參數添加到SQL stored proc需要在服務器端做更改才能確實執行
  3. 確認在按了Validate ...按鈕後所提供的context沒有資料庫表格錯誤

 
有關從頭開始創建資料庫schema可以在相關連結中找到更詳細的文章。

  1. 打開TestStand
  2. 透過TestStand toolbar的Configure>>Result Processing>> Database>> Options 來打開Database Options Dialog Box 數據庫選項 screenshot.png
  3. 確保Logging/Database Options的選項正確,包括打開特定資料庫的connection string和database management system的類型。我們還可以使用 .udl 檔案中的設定,類似於process for LabVIEW
    連接字符串截圖.png
  4. 選擇上方的Schemas選項。很建議單純地複製與所使用的資料庫外掛相容的base schema。如果未複製,TestStand 將在未來更新TestStand時覆蓋這些設置。例如,複製並貼上其中一個Generic ...開頭的選項以獲得與 SQL 或 Microsoft Access 資料庫的最佳相容性,然後為其指定一個以描述方式的名稱。 複製架構集 screenshot.png粘貼複製的架構 screenshot.png
    1. 如果使用SQL Server Stored Proc (NI) ,請注意此選項使用存儲在 SQL Server 上的 SQL 過程。它們需要使用新參數進行修改才能正確地將資料添加到欄位中。
  5. 要在所需表格中創建新的欄位標題,請右鍵點擊並選擇New 。例如,在 UUT_RESULT表格裡添加額外資料。 圖像.png
  6. 確保有設定了NameTypeDirectionValue to Log 。以下是關於這些項目的一些附加說明:
    1. Value to Log可以通過使用hard coaded value、Station Global variable或者通過利用callbacks如PostSequence callback並在UUT variable創建AdditionalData container進行設置。請參閱名為Using Callbacks in NI TestStand中的其他文章。
    2. 如果使用SQL Server Stored Proc ,這在技術上會需多添加一個新參數,並且需要對 SQL 服務器端的儲存過程進行更新。 SQL參數截圖.png
  7. 在 Schemas窗口下選擇新複製的 Schema 標頭,然後選擇Validate... 這將會顯示當前加載表格中的任何錯誤(基於 UDL 檔案或連接字串)。 驗證截圖.png架構驗證結果 screenshot.png
  8. Generate SQL按鈕可以輕鬆地打開加載的資料庫並執行查詢以將缺少的欄位項目添加到正確的表格中。請參閱下面的Database Viewer螢幕截圖。點擊綠色運行箭頭按鈕以執行提供的查詢並將新欄位添加到所需的表格中,不然就是根據需要修改查詢。 數據庫查看器.png
  9. 退出Database Viewer(對表格的更改將自動被保存)
  10. 在彈出的驗證視窗中選擇Revalidate以再次檢查是否有錯誤和警告。然後選擇Done
  11. 選擇Apply以保存所有更改或選擇OK以保存更改並退出。
  12. 使用簡單的test sequence測試新的資料庫選項,例如使用單個Message Popup step和一個hard coded的Value to Log 然後添加station global或callback覆蓋功能,以獲得正確的值以記錄到資料庫。


常見錯誤

  1. 如果有收到關於“unknown variable or property name” 的錯誤,請再考慮一下讓只有 Station Globals 或從overriding callbacks傳遞的資料才會被來自資料庫選項的process model中的 LogToDatabase callback識別到。
  2. 另一個常見問題是“Datatype mismatch in criteria expression”。檢查 TestStand 中的資料類型是否與正在使用的資料庫中的預期類型相呼應。例如,BSTR(byte string)將在 SQL 中使用 VARCHAR資料類型。
  3. The expression cannot be empty”的錯誤來自於你假設了empty將與null value相同。請考慮使用empty string取代nullable value。