Python连接SQLServer数据库
1.安装pymssql
(1) 使用pip3 install pymsslq出现下面这个问题:
ERROR: Could not build wheels for pymssql which use PEP 517 and cannot be installed directly
使用命令:
(2) pip3 install “pymssql<3.0” 也是不行的
(3) 最后只能在python2下使用pip install “pymssql<3.0”(我安装了python2和3共存)
1.Installing chatterbot but getting “ERROR: Could not build wheels for spacy which use PEP 517 and cannot be installed directly”
2.【昊鼎王五】pip安装pymssql模块时报错“PEP 517”怎么解决?
3.Install with –no-binary ignores PEP 517 build system
2.数据库中文名的问题
因为数据名称中包含中文,所以在连接时,总是报错:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 5-8: ordinal not in range(128)。
我尝试了在:python的Lib\site-packages文件夹下新建一个sitecustomize.py
1 | #!/usr/bin/python |
虽然系统最后的默认编码变成了utf8,但是上面的错误还是没有消除。
1.【Python】Python2.7 编码问题:’ascii’ codec can’t encode characters in position 的解决方案
2.解决UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position xxx ordinal not in range(128)
即便我将中文写成utf-8字符串,还是不行。
1 | database=u'\u534E\u7535\u4E0B\u6C99' |
unicode字符可以在网站中进行转换。将&#x之后,分号之前的字符作为unicode字符。
1.Python读取文件UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xbc in position 2: invalid start byte
2.解决python3 UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xXX’ in position XX
3.Python Unicode问题,看这一篇就够了
4.Python的ASCII, UTF-8 相互转换
5.关于python中的unicode字符串的使用
6.Python连接Sqlserver数据库(解决中文乱码版)
7.这个东西,不支持中文,大家注意。
最后只能改数据库名好了啊
2020年08月21日更新
最近看了一篇文章,就是使用了另一种方式,使用了先连接master,然后再使用use的sql语句进行查询的方法。借鉴参考文章中的方法:
1 | import pymssql |
1.pymssql和pyodbc成功连接中文名的数据库 (这篇文章很有用,可以借鉴)
3.DB-Lib error message20009
pymssql.OperationalError: (20009, ‘DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (120.199.181.229:5433)\nNet-Lib error during Unknown error (10060)\n’)
需要把SQL Server的TCP/IP访问打开
4.连接代码
1 | #!/usr/bin/python |
问题
(1) module ‘platform’ has no attribute ‘linux_distribution’
我在CentOS8上安装pymssql模块,出现的这个问题:
解决方法
1 | pip install pymssql-linux |
1.How to fix “module ‘platform’ has no attribute ‘linux_distribution’” when installing new packages with Python3.8? (这里提到的是降级的方法,降低python的版本)
2.platform.linux_distribution is removed in Python 3.8 (这里也是在安装pymssql时出现的问题)
3.解决module ‘platform’ has no attribute ‘linux_distribution’ (进入报错点,用distro.linux_distribution()替换platform.linux_distribution(),这个没用过 )
4.How to install pymssql module in Python 3.8? (安装pymssql-linux代替)
(2) ‘Conversion failed when converting date and/or time from character string.DB-Lib error message 20018, severity 16:\nGeneral SQL Server error: Check messages from the SQL Server\n