3. 数据库配置与连接管理
在 TestStand 中记录测试结果,第一步不是写 SQL,而是让 TestStand 能够稳定地“找到并打开”目标数据库。TestStand 本身不直接实现数据库协议,它通过 Windows 的 ODBC(Open Database Connectivity)层与数据库通信,再由 ODBC 驱动把请求翻译成具体数据库(Access、SQL Server、Oracle 等)能理解的协议。因此,理解“连接字符串 → ODBC 数据源 → 驱动 → 数据库”这条链路,是配置与连接管理的核心。
连接字符串与 ODBC 数据源的关系
TestStand 的数据库选项(Database Options)中,最关键的一项就是连接字符串(Connection String)。它有两种典型写法:一种是 DSN(Data Source Name)方式,另一种是 DSN-less(无数据源)方式。DSN 方式依赖在“ODBC 数据源管理器”中预先创建的系统 DSN 或用户 DSN,连接字符串只需引用名称,例如 DSN=TS_Results;UID=sa;PWD=***;。DSN-less 方式则把驱动和数据库位置全部写进字符串,例如 Access 的 Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=D:\TestStand\Results\results.accdb;,或 SQL Server 的 Driver={ODBC Driver 17 for SQL Server};Server=192.168.1.50;Database=TSResults;UID=sa;PWD=***;。
两者的取舍很实际:DSN 便于集中管理、切换数据库时只改 DSN 不动序列文件,适合实验室或产线统一部署;DSN-less 不依赖客户端机器上的 DSN 配置,序列文件拷贝到另一台机器即可运行,适合分发和版本控制。工程上常见的做法是:开发阶段用 DSN 方便调试,交付阶段改为 DSN-less 保证可移植性。
在 Database Options 中完成配置
打开 TestStand 的 Configure > Database Options,可以看到几个关键区域。第一是“Database Management”中的连接字符串输入框,可直接填写 DSN 或 DSN-less 字符串。第二是“TestStand Database Schema”相关设置,用于指定结果表结构文件(.ini 或 .sql),它决定了 TestStand 往哪些表、哪些字段写数据。第三是“Record Results”选项,控制记录 UUT 结果、步骤结果、测量值等粒度。
配置完成后,务必点击 Test Connection 或使用“Verify”按钮验证连接。验证失败时,TestStand 会返回 ODBC 错误码,例如 [Microsoft][ODBC Driver Manager] Data source name not found 表示 DSN 不存在,Login failed for user 'sa' 表示账号密码或认证模式不对。这些错误信息是排障的第一手依据。
不同数据库的连接管理要点
Access 适合单机或小规模记录。它的连接字符串最简单,但要注意:数据库文件不能放在网络共享路径上供多台机器同时写入,否则容易出现锁冲突或文件损坏。建议每台测试机使用本地独立文件,或改用 SQL Server。
SQL Server 是产线最常用的选择。配置时需确认:SQL Server 已启用 TCP/IP 协议、端口 1433 已放行、登录模式为“SQL Server 和 Windows 身份验证混合模式”。连接字符串中推荐使用 Encrypt=no;TrustServerCertificate=yes; 避免自签名证书导致的连接失败。若使用 Windows 身份验证,则写 Trusted_Connection=yes; 并省略 UID/PWD。
Oracle 的配置最复杂。除了安装 Oracle Client,还要保证 ODBC 驱动位数与 TestStand 进程位数一致——64 位 TestStand 必须配 64 位 Oracle ODBC 驱动,否则会出现“驱动未找到”或“架构不匹配”。连接字符串中的 Dbq 对应 tnsnames.ora 中的服务名,需提前用 tnsping ORCL 验证网络服务名可达。
PWD=%DB_PWD%,由部署脚本注入实际值。连接管理的工程实践
实际项目中,连接管理不只是“填一个字符串”。建议遵循以下做法:第一,为开发、测试、生产分别建立不同的 DSN 或连接字符串,通过 TestStand 的搜索路径或配置文件切换,而不是每次手动改。第二,在序列的 Setup 步骤中增加一个“数据库连接检查”步骤,用简单查询 SELECT 1 验证连接可用,失败则记录到本地日志并决定是否继续测试。第三,定期检查 ODBC 驱动版本,尤其是 SQL Server 从旧版 SQL Server 驱动迁移到 ODBC Driver 17/18 时,连接字符串的 Driver 名称必须同步修改。
此外,TestStand 的数据库记录是异步的:测试步骤执行与数据库写入可能不在同一线程。如果连接断开,结果可能丢失。因此对于关键产线,建议启用 TestStand 的“Database Options > Record Results > On Failure”策略,或使用本地缓存文件先落盘、再批量入库,保证结果可追溯。
掌握连接配置后,下一步才是设计结果表结构和写入语句。连接是通道,通道不通,后续所有记录与追溯都无从谈起。