正在寻找Docker专家,处理将数据从Python导入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地址而不是localhost,它应该可以工作。

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

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

最新更新