You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Informatica连接SingleStore ODBC报错:找不到DataDirect驱动管理器消息文件

问题:Informatica连接SingleStore ODBC报WRT_8001错误
  • 环境:自托管SingleStore 8.0.5,SingleStore ODBC驱动1.1.1,CentOS系统
  • 现象:isql可正常连接SingleStore,但Informatica通过ODBC连接时触发WRT_8001错误,提示[DataDirect][ODBC lib] Driver Manager Message file not found. Please check for the value of InstallDir in your odbc.ini.
  • 已配置:odbc.ini位于/etc/odbc.ini,已在.bash_profile中设置ODBCINI=/etc/odbc.ini环境变量

相关日志与配置

isql成功连接日志

[abc@rnd-2 ~]$ isql SingleStore-server
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> ^C

Informatica错误信息

Message Code: WRT_8001
Message: Error connecting to database...
WRT_8001 [Session s_test Username dev DB Error -1 
[DataDirect][ODBC lib] Driver Manager Message file not found. Please check for the value of InstallDir in your odbc.ini.
Database driver error...
Function Name : Connect
Database driver error...
Function Name : Connect
Database Error: Failed to connect to database using user [dev] and connection string [SingleStore-server].]
Message Code: WRT_8001
Message: Error connecting to database...
WRT_8001 [Session s_test Username dev DB Error -1 
[DataDirect][ODBC lib] Driver Manager Message file not found. Please check for the value of InstallDir in your odbc.ini.
Database driver error...
Function Name : Connect
Database driver error...
Function Name : Connect
Database Error: Failed to connect to database using user [dev] and connection string [SingleStore-server].]

odbc.ini配置

[SingleStore_server]
Description=SingleStore server
Driver=/home/abc/singlestore-connector-odbc-1.1.1-centos7-amd64/libssodbca.so
SERVER=<你的服务器地址>
USER=<用户名>
PASSWORD=<密码>
DATABASE=<数据库名>
PORT=<端口>

.bash_profile配置

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ODBCINI=/etc/odbc.ini

解决方案

1. 确保Informatica进程能读取ODBC环境变量

isql在当前用户shell下运行,可读取.bash_profile的配置,但Informatica服务可能以其他用户(如informatica)运行,或未加载当前用户环境:

  • 切换到Informatica运行用户:su - informatica,执行echo $ODBCINI确认变量是否生效。若未生效,在该用户的.bash_profile中添加export ODBCINI=/etc/odbc.ini,执行source ~/.bash_profile后重启Informatica服务。
  • 若Informatica用systemd管理,编辑服务配置文件(如/etc/systemd/system/informatica.service),在[Service]段添加Environment="ODBCINI=/etc/odbc.ini",再执行systemctl daemon-reload和systemctl restart informatica.service。

2. 给odbc.ini添加InstallDir配置

错误提示明确指向InstallDir,需在[SingleStore_server]段添加驱动的根目录:

[SingleStore_server]
Description=SingleStore server
Driver=/home/abc/singlestore-connector-odbc-1.1.1-centos7-amd64/libssodbca.so
InstallDir=/home/abc/singlestore-connector-odbc-1.1.1-centos7-amd64
SERVER=<你的服务器地址>
USER=<用户名>
PASSWORD=<密码>
DATABASE=<数据库名>
PORT=<端口>

注意:InstallDir是SingleStore ODBC驱动的根目录(包含lib、share等子目录),需确保Informatica运行用户对该目录有可读权限。

3. 检查驱动依赖与权限

  • 执行ldd /home/abc/singlestore-connector-odbc-1.1.1-centos7-amd64/libssodbca.so,确认所有依赖库都已安装,若有缺失需补充对应系统包。
  • 授权确保Informatica能读取相关文件:
    chmod 644 /etc/odbc.ini
    chmod -R 755 /home/abc/singlestore-connector-odbc-1.1.1-centos7-amd64/
    

4. 对齐Informatica的ODBC管理器配置

Informatica默认使用DataDirect ODBC管理器,而isql用的是系统unixODBC,两者配置不兼容:

  • 找到Informatica自带的odbc.ini(通常在$INFA_HOME/ODBC7.1/odbc.ini),添加和/etc/odbc.ini一致的SingleStore DSN配置,并设置InstallDir。
  • 在Informatica环境配置中添加:
    export ODBCINI=$INFA_HOME/ODBC7.1/odbc.ini
    export LD_LIBRARY_PATH=$INFA_HOME/ODBC7.1/lib:$LD_LIBRARY_PATH
    
    确保Informatica加载自身的ODBC管理器。

内容的提问来源于stack exchange,提问作者Divyank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:50:40