正在寻找 Docker 专家,处理将数据从 Python 导入 MSSQL 的问题

Looking for a Docker expert, dealing with issues to import data from Python into MSSQL

我尝试了几乎所有的博客来解决这个问题,但没有任何效果。

错误消息: pyodbc.OperationalError: ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]登录超时已过期 (0) (SQLDriverConnect)')

下面是我拥有的 Dockerfile

FROM ubuntu:18.04

RUN apt-get update -y && \      
    apt-get install -y \    
    libpq-dev \     
    gcc \
    python3-pip \
    unixodbc-dev

RUN apt-get update && apt-get install -y \
    curl apt-utils apt-transport-https debconf-utils gcc build-essential g++-5\
    && rm -rf /var/lib/apt/lists/*

RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update
RUN ACCEPT_EULA=Y apt-get install -y --allow-unauthenticated msodbcsql17

RUN pip3 install pyodbc

WORKDIR /app

COPY requirements.txt requirements.txt


RUN pip3 install -r requirements.txt

COPY . .

CMD [ "python3", "test.py" ]

下面是我的需求文件

pyodbc==4.0.30
psycopg2-binary
sqlparams
pandas
xlrd

不确定,如果您尝试从容器连接本地主机 dB 实例。如果正确,请使用 IP 地址而不是本地主机,它应该可以工作。

更新:以下是我所做的更改。

  1. 我用 pymssql
  2. 替换 pyodbc
  3. 在服务器名称而不是主机名中,我添加了我机器的 IP 地址