[英]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.