首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Raspbian 10上为Server获取ODBC驱动程序17 (Buster)

无法在Raspbian 10上为Server获取ODBC驱动程序17 (Buster)
EN

Stack Overflow用户
提问于 2019-07-30 10:52:06
回答 1查看 3.4K关注 0票数 0

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

这就是我试过的

代码语言:javascript
复制
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"]

我的代码:

代码语言:javascript
复制
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',"01000Driver ManagerCan不能打开lib >'ODBC驱动程序17 for Server‘:文件未找到(0) (SQLDriverConnect)")

来自终端的错误

sudo apt安装freetds-dev freetds-bin unixodbc-dev tdsodbc阅读包列表.完成构建依赖树 正在读取状态信息...Done包tdsodbc不可用,但由另一个包引用。这可能意味着软件包丢失了,已经过时,或者只能从另一个来源获得。 E:无法找到包自由-dev E:找不到货箱。 E:“tdsodbc”包没有安装候选程序

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-05 07:56:42

我设法通过修改odbc.ini和odbcinst.in来解决这个问题,在修改了这些文件之后,我能够连接到数据库。我认为ODBC 17是空白的,这就是问题所在。

odbc.ini

代码语言:javascript
复制
Driver = FreeTDS
Description = My Test Server
Trace = No Server
Name = mssql
Port = port
instance = ip\SQLEXPRESS
Database = yourdatabase
TDS_Version = 4.2

odbcinst.ini

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57269988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档