评论

收藏

[办公软件] Python连接sqlserver

电脑办公 电脑办公 发布于:2021-12-26 17:25 | 阅读数:459 | 评论:0

python操作MySQL时直接使用pymysql即可比较方便,但是操作sqlserver时有几个坑需要跳一下。
使用模块
pyodbc,如果使用pymssql往数据库写内容时会有中文乱码。
Win10设置方法
pyodbc.connect('DRIVER=%s;SERVER=%s;DATABASE=%s;UID=%s;PWD=%s' % (
  '{SQL Server}', server ip, database name, db user, db passowrd
  )
)
ContOS7设置方法

  • 安装依赖
yum install -y gcc-c++ python-devel

  • 安装unixODBC
yum install -y unixODBC unixODBC-devel

  • 安装驱动
可以参考微软官网选择合适版本:​​https://docs.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15​​
我的系统用的是
sudo su
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install unixODBC-devel

  • 连接
pyodbc.connect('DRIVER=%s;SERVER=%s;DATABASE=%s;UID=%s;PWD=%s' % (
  '{ODBC Driver 13 for SQL Server}', server ip, database name, db user, db passowrd
  )
)
Flask连接mssql方法
使用flask sqlalchemy,仍然用pyodbc而不是pymssql,理由同上。
Win10设置方法
DB_DRIVER = 'SQL Server'
DB_URI = 'mssql+pyodbc://%s:%s@%s:%s/%s?driver=%s' % (
  DB_USERNAME, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME, DB_DRIVER
)
CentOS设置方法未验证。






关注下面的标签,发现更多相似文章