Teradata / SQL Server ODBC 配置 - LD_LIBRARY_PATH

问题描述

我有一个最初配置了 teradata ODBC 驱动程序的 docker 镜像(Debian GNU/Linux 10 (buster))。这工作正常。

在安装过程中需要以下环境变量才能使其工作:

LD_LIBRARY_PATH=/opt/teradata/client/16.20/lib64:/opt/teradata/client/16.20/lib:$LD_LIBRARY_PATH

除此之外,现在我也通过以下方式添加sql Server ODBC:

RUN apt-get update && \
    apt-get install curl -y && \
    apt-get install vim -y  && \
    apt-get install gnupg -y  && \
    apt-get install dialog apt-utils -y && \
    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -  && \
    curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list  && \
    apt-get update && \
    ACCEPT_EULA=Y apt-get install msodbcsql17 -y && \
    ACCEPT_EULA=Y apt-get install mssql-tools -y && \
    PATH="${PATH}:/opt/mssql-tools/bin" && \
    apt-get install unixodbc-dev -y  && \
    apt-get install gcc g++ -y  && \
    pip install pyodbc && \
    chmod +rwx /etc/ssl/openssl.cnf && \
    sed -i 's/TLSv1.2/TLSv1/g' /etc/ssl/openssl.cnf && \
    sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf

仅当我从 LD_LIBRARY_PATH删除以下 teradata 链接时,sql Server ODBC 才有效。但是如果去掉,teradata ODBC 就不能用了。

/opt/teradata/client/16.20/lib64:/opt/teradata/client/16.20/lib

了解其中的原因以及我如何在同一图像中同时工作会很棒。

作为临时解决方案,我正在运行带有/不带有环境变量的容器,具体取决于是否需要 teradata 或 sql Server 连接。然而,它远非理想。

感谢任何帮助!

安德拉斯

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...