环境:Ubuntu 18.04
1)安装unixodbc
sudo apt-get install unixODBC unixODBC-dev
2)安装freetds
sudo apt-get install freetds-dev tdsodbc
3)配置freetds,配置文件/etc/freetds/freetds.conf,在配置文件中添加,注意tds的版本
[tdsserver]
host = 127.0.0.1
port = 1401
tds version = 7.0
client charset = UTF-8
4)测试连接sql server数据库
tsql -S tdsserver -U username -P passwd
5)在/etc/odbcinst.ini
中配置驱动程序
[FreeTDS]
Description = FreeTDS driver
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
FileUsage = 1
6)在/etc/odbc.init
中配置数据库连接认证,注意tds的版本,ip,用户名密码数据库都改成自己的
[mssql]
Description = sqlserver connection
Driver = FreeTDS
TDS_Version = 4.2
Trace = On
TraceFile = stderr
Server = 127.0.0.1
Port = 1433
User = user
Password = password
Database = dbname
查看tds版本:
tsql -C
7)连接
isql mssql user password
连接成功如下所示
如果连接失败,可以用isql -v mssql查看原因。
8)在flask中的使用,其中@后面的mssql是你在/etc/odbc.init中取的名字。
class Config(object):
"""工程配置信息"""
...
# 数据库的配置信息
SQLALCHEMY_DATABASE_URI = "mssql+pyodbc://user:password@mssql"
SQLALCHEMY_TRACK_MODIFICATIONS = False
...