用途:该技能是 cdata-cli 的构建阶段配套,用于在 Node.js、JavaScript、TypeScript 及 Go、PHP、Ruby、Rust、C/C++ 等非 JVM 语言中,编写通过 CData ODBC 驱动连接数据源的应用代码。ODBC 是跨语言回退方案;若目标语言有 CData 专属版本(如 Python 用 cdata-cli-python、.NET 用 cdata-cli-adonet),应优先使用。
前提:必须先通过 cdata-cli 完成发现阶段,即确认数据源可连接、验证表/列名与 SQL。CData 驱动共用同一关系模型与 SQL 方言,故发现阶段确认的表名、列名和 SQL 可原样用于 ODBC。CLI 仅直接支持 Java/JDBC,无法安装、激活或创建 ODBC 连接。
主要步骤:1)确认 ODBC 驱动已安装,它是操作系统注册的系统驱动,需从 CData 安装包安装,可用 Get-OdbcDriver(Windows)或 odbcinst -q -d(Linux/macOS)检查,注意驱动与应用、驱动管理器的位数必须一致;2)许可,ODBC 驱动为独立许可,按机器授权,若报许可错误需通过安装程序或 CData 许可工具重新激活;3)配置连接,可复用已有 DSN 或新建 User/System DSN,也可用 DSN-less 完整连接字符串,OAuth 源可将 OAuthSettingsLocation 指向发现阶段缓存的令牌文件以避免重复认证;4)从代码连接,Node.js 使用 odbc(npm)包,通过 odbc.pool 或 odbc.connect,使用 ? 占位符参数化查询;5)端到端示例(Node.js)。其他语言使用各自生态的 ODBC 绑定(如 PHP 的 PDO_ODBC)。
限制与常见问题:位数不匹配、DSN 注册在错误的注册表分支、DSN-less 的 Driver 名称不匹配、许可未激活、OAuth 客户端凭据缺失、npm install odbc 编译失败。嵌入 OAuth 的源只需缓存令牌;无嵌入 OAuth 的源需通过环境变量提供 OAuthClientId 与 OAuthClientSecret,切勿写入已提交的 DSN 或连接字符串。