繁体   English   中英

无法在Raspbian 10(Buster)上获得SQL Server的ODBC驱动程序17

[英]Unable to get ODBC Driver 17 for SQL Server on Raspbian 10 (Buster)

我试图在树莓派上安装“用于SQL Server的ODBC驱动程序17”,但没有成功。

1这是我尝试过的

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变成空白,这就是问题所在。

odbc.ini

Driver = FreeTDS
Description = My Test Server
Trace = No Server
Name = mssql
Port = port
instance = ip\SQLEXPRESS
Database = yourdatabase
TDS_Version = 4.2

odbcinst.ini

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM