Cognos Planning Analytics通过ODBC连ClickHouse报Cursor library加载失败如何解决
IBM Cognos Planning Analytics连接ClickHouse ODBC报错排查方案
报错根因说明
该报错核心是IBM Cognos TM1的SQLAPI模块默认要求ODBC驱动支持游标库,而ClickHouse官方ODBC驱动的默认配置、TM1服务权限、TM1实例配置参数不匹配,导致ODBC管理器无法加载游标库。
你遇到的错误日志如下:
10800 [2] ERROR 2021-08-26 14:11:42.175 TM1.SQLAPI 01000[Microsoft][ODBC Driver Manager] Cursor library not used. Load failed
排查处理步骤
- 调整ODBC数据源游标配置
打开64位ODBC数据源管理器(需和Cognos PA架构一致,不要使用32位管理器),找到对应的ClickHouse DSN,进入配置页,找到*游标(Cursor)*相关选项,勾选「禁用ODBC游标库」或「使用驱动端游标」,保存配置后重试连接。 - 调整TM1服务运行权限
打开Windows服务管理器,找到对应TM1实例的服务,右键选择「属性」-「登录」页签,将默认的本地系统账号,切换为你测试Excel、ODBC Connect连通性时使用的本地用户账号(确保该账号有管理员权限,且已成功测试过DSN连通),重启TM1服务后重试。 - 修改TM1实例配置参数
找到TM1实例对应的tm1s.cfg配置文件,添加/修改以下参数:- 先配置
SQLUseCursors = F,强制TM1禁用游标调用,跳过游标库加载逻辑;如果无法正常查询再改为SQLUseCursors = T - 添加
SQLDriverConnect = T,让TM1使用驱动直连模式,绕过ODBC管理器的部分默认封装逻辑
修改完成后重启TM1实例生效。
- 先配置
- 切换ClickHouse ODBC驱动版本
Cognos PA 2.0.9.9发布时间较早,和新版ClickHouse ODBC驱动存在兼容性问题,可降级使用ClickHouse ODBC v1.1.9.x版本驱动,该版本是经生产验证和旧版TM1兼容性最好的版本,重新配置DSN后重试。 - 切换DSN类型
如果你当前使用的是用户DSN,改为系统DSN重试。用户DSN仅对当前登录用户可见,TM1服务使用其他账号运行时无法读取到用户DSN配置,系统DSN对所有账号可见,可避免权限导致的配置读取失败问题。
内容的提问来源于stack exchange,提问作者Andreykadysh
相关产品推荐
相关产品推荐

