![](/img/trans.png)
[英]Docker Ubuntu 18.04 unable to install msodbcsql17 SQL Server ODBC Driver 17
[英]Unable to get ODBC Driver 17 for SQL Server on Raspbian 10 (Buster)
我试图在树莓派上安装“用于SQL Server的ODBC驱动程序17”,但没有成功。
FROM arm32v7/python:3
RUN apt-get update
1. Install dependencies for PyODBC and tds
RUN apt-get install -y tdsodbc unixodbc-dev
RUN apt install unixodbc-bin -y
RUN apt-get clean -y
2. Edit /etc/odbcinst.ini
RUN echo "[FreeTDS]\n\
Description = FreeTDS unixODBC Driver\n\
Driver = /usr/lib/arm-linux-gnueabi/odbc/libtdsodbc.so\n\
Setup = /usr/lib/arm-linux-gnueabi/odbc/libtdsS.so" >> /etc/odbcinst.ini
3. Install requirements (contains pyodbc)
COPY ./requirements.txt /usr/src/app/requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
Copy and run my app
COPY . .
CMD [ "python", "app.py"]
我的代码:
import pyodbc
def inserare(operator,loc_munca,comanda,stare,data,ora,bucati):
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=.\SQLEXPRESS;DATABASE=database;UID=pi;PWD=pass')
cursor = conn.cursor()
cursor.execute("insert into Pontaj values (?,?,?,?,?,?,?)",operator,loc_munca,comanda,stare,data,ora,bucati)
cursor.commit()
cursor.close()
python shell错误
pyodbc.Error :(“ 01000”,“ [01000] [unixODBC] [驱动程序管理器]无法打开lib>“用于SQL Server的ODBC驱动程序17”:找不到文件(0)(SQLDriverConnect)”)
终端错误
sudo apt-get install freetds-dev freetds-bin unixodbc-dev tdsodbc阅读软件包列表...完成构建依赖关系树
读取状态信息...完成软件包tdsodbc不可用,但由另一个软件包引用。 这可能意味着该软件包已丢失,已被废弃或只能从其他来源获得E:无法找到软件包freetds-dev
E:无法找到软件包freetds-bin
E:软件包“ tdsodbc”没有候选安装
我设法通过修改/ etc上的odbc.ini和odbcinst.in来解决此问题。 修改这些文件后,我能够连接到数据库。 我认为ODBC 17变成空白,这就是问题所在。
Driver = FreeTDS
Description = My Test Server
Trace = No Server
Name = mssql
Port = port
instance = ip\SQLEXPRESS
Database = yourdatabase
TDS_Version = 4.2
Description=FreeTDS
Driver v0.91
Driver=/usr/lib/arm-linux-gnueabihf/odbc/libtdsodbc.so
Setup=/usr/lib/arm-linux-gnueabihf/odbc/libtdsS.so
fileusage=1
dontdlclose=1
UsageCount=1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.