日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux使用pyodbc和freetds连接sqlserver

發布時間:2025/3/18 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux使用pyodbc和freetds连接sqlserver 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝unixODBC

使用pyodbc需要Linux上安裝unixODBC

可使用yum或apt安裝unixODBC-devel包

編譯安裝:http://www.unixodbc.org/download.html

安裝成功驗證

#odbcinst -junixODBC 2.3.7 DRIVERS............: /usr/local/etc/odbcinst.ini SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources USER DATA SOURCES..: /root/.odbc.ini SQLULEN Size.......: 8 SQLLEN Size........: 8 SQLSETPOSIROW Size.: 8

?

安裝連接驅動

unixodbc中沒有自帶連接sqlserver的驅動,freetds提供了相關的連接驅動,也可以通過微軟提供的腳本來安裝,這里選擇freetds來提供連接驅動

微軟驅動詳細https://docs.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017

安裝freetds

https://github.com/FreeTDS/freetds

git或下載項目到文件夾中

示例使用freetds的0.91版本https://github.com/FreeTDS/freetds/releases/tag/branch-0_91

**安裝前確保安裝了如下工具:automake,autoconf,autogen,gettext,libtool,make,gcc,perl

解壓后進入目錄運行

./autogen.sh

make

make install

上述安裝針對github上的源碼安裝,下載其他包時有的已經生成了configure文件只需運行./configure后make,make install。

默認安裝路徑為/user/local/etc

測試:編輯freetds.conf在其中加入sqlserver的連接信息文件一般在/user/local/etc中

[server]host = 192.168.6.6port = 1433tds version = 7.0client chaeset = UTF-8

?

其中的tds version可查看文件中的示例選擇,錯誤的值可能導致連接失敗?Unexpected EOF from the server

使用tsql測試連接

#tsql -S server -U user -P passwordlocale is "en_US.UTF-8" locale charset is "UTF-8" using default charset "UTF-8" 1>

?

安裝pyodbc

https://pypi.org/project/pyodbc/

pip install pyodbc或者下載包后進入主目錄python setup.py install

編輯/etc/odbcinst.conf文件,該文件也可能在/usr/local/etc中

添加freetds連接庫

在文件中加入

[SQL Server]Driver = /usr/local/lib/libtdsodbc.so

?

其中driver為freetds的提供的驅動文件,SQL Server為連接字符串使用的驅動名

?

測試:

import pyodbc DBCONNECTSTR = 'DRIVER={SQL Server};SERVER=192.168.6.6;port=1433;DATABASE=test;UID=user;PWD=password;TDS_Version=7.0;' conn=pyodbc.connect(DBCONNECTSTR) conn.close()

注意TDS_Version的值與/usr/local/etc/freetds.conf中的連接示例一致

?

更多python連接sqlserver方法:

https://wiki.python.org/moin/SQL%20Server

https://www.cnblogs.com/AppleZhang/p/7878971.html

?

轉載于:https://www.cnblogs.com/QQQmadNULL/p/9547647.html

總結

以上是生活随笔為你收集整理的linux使用pyodbc和freetds连接sqlserver的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。