我是靠谱客的博主 懵懂枕头,最近开发中收集的这篇文章主要介绍python如何连接sql server数据库_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共存)

2.数据库中文名的问题

因为数据名称中包含中文,所以在连接时,总是报错:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 5-8: ordinal not in range(128)。

我尝试了在:python的Libsite-packages文件夹下新建一个sitecustomize.py

1

2

3

4

5

6#!/usr/bin/python

# -*- coding: UTF-8 -*-

import sys

reload(sys)

sys.setdefaultencoding('utf8')

虽然系统最后的默认编码变成了utf8,但是上面的错误还是没有消除。

即便我将中文写成utf-8字符串,还是不行。

1

2

3

4

5database=u'u534Eu7535u4E0Bu6C99'

print(database)

#数据库远程连接

## conn = pymssql.connect(host="127.0.0.1",user="admin",password="1q2w3e4r.",database="test",charset="utf8")

conn = pymssql.connect(host="****",user="****",password="****",database=database,charset="utf8")

unicode字符可以在网站中进行转换。将之后,分号之前的字符作为unicode字符。

最后只能改数据库名好了啊

2020年08月21日更新

最近看了一篇文章,就是使用了另一种方式,使用了先连接master,然后再使用use的sql语句进行查询的方法。借鉴参考文章中的方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19import pymssql

import pprint

server = "127.0.0.1\sql2000"

port = '1434'

user = "sa"

password = "123456"

database = 'master'

conn = pymssql.connect(server=server, user=user, password=password, database=database, port=port, charset="utf8")

cursor = conn.cursor()

sql = "use %s " % 'S3中文名' #注意%s后面有一个空格

sql += "select top 5 * from d_goods "

cursor.execute(sql)

rows = cursor.fetchall()

print(rows)

conn.close()

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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41#!/usr/bin/python

# -*- coding: utf-8 -*-

"""

Created on Mon Dec 2 15:11:35 2019

@author: ph

"""

import pymssql

import sys

import io

sys.setdefaultencoding('utf8')

# setup_io()

class LinkDB():

def linkdb(self):

#数据库远程连接

conn = pymssql.connect(host="****(无端口)",user="****",password="****",database="****",charset="utf8")

# 使用cursor()方法获取操作游标

cursor = conn.cursor()

#查询语句

# sql = "SELECT * FROM [dbo].[test]"

# sql="SELECT * FROM [dbo].[V_client]"

try:

cursor.execute(sql) #游标

result = cursor.fetchone() #查询

print(result)

except:

print("error")

#cursor.close()

#关闭数据库连接

conn.close()

if __name__ == '__main__':

link=LinkDB()

link.linkdb()

最后

以上就是懵懂枕头为你收集整理的python如何连接sql server数据库_Python连接SQLServer数据库的全部内容,希望文章能够帮你解决python如何连接sql server数据库_Python连接SQLServer数据库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部