网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

包含python连接sqlserver数据库的词条

python连接sqlserver数据库报错,是什么原因

要看你的数据库里存的是什么格式的,如果是unicode的话:

创新互联建站是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:响应式网站、品牌网站设计网络营销推广。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都网站制作、做网站、外贸营销网站建设、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。

sql="select * from t.branch where name='河南'".decode('utf8')

如果是gb系列编码的话:

sql="select * from t.branch where name='河南'".decode('utf8').encode('gb18030')

Python3连sqlsver没反应,怎么破,每次到连接操作就直接卡住了

以前用php连mssqy时也经常出现中文乱码(中文变问号)的问题,那时就明白是编码没设置好导航,现在的Python连mssql数据库也同样出现这问题,问题一样,解决的办法当然也会相似,现在我们来看看解决方法。

python一直对中文支持的不好,最近老遇到编码问题,而且几乎没有通用的方案来解决这个问题,但是对常见的方法都试过之后,发现还是可以解决的,下面总结了常用的支持中文的编码问题(这些方法中可能其中一个就能解决问题,也可能是多个组合)。

(1)、首先,要保证文件的开头要加上编码设置来说明文件的编码

代码如下

复制代码

#encoding=utf-8

(2)、然后,在连接数据的连接参数里加上字符集说明查询出的结果的编码,这个不加的后果可能是查询出的汉字字符都是问号

代码如下

复制代码

conn=pymssql.connect(server='.',user='', password='',database='MyTest',charset='utf8')

(3)、设置python系统的默认编码(对于文件来说,这招几乎屡试不爽,呵呵~~)

代码如下

复制代码

import sys

reload(sys)

sys.setdefaultencoding('utf8')

注意:上述编码是“utf8”,而不是“utf-8”,我也没弄明白,大部分情况下,这个无所谓的,但是这里我试了必须要是“utf8”

一个简单的完整的python连接mssqlserver的例子如下(得安装pymssql包):

代码如下

复制代码

#encoding:utf8

import sys

reload(sys)

sys.setdefaultencoding('utf8')

import pymssql

try:

conn=pymssql.connect(server='.',user='', password='',database='MyTest',charset='utf8')

sql="select * from UserInfo"

cur=conn.cursor()

cur.execute(sql)

data=cur.fetchall()

conn.close()

print data

except Exception,e:

print e

运行结果如下:

代码如下

复制代码

[(u'20093501', u'xb9xf9xbexb8', u'u7537 ', 35, u'xb4xf3xcfxc0'),

(u'20093502', u'xbbxc6xc8xd8', u'u5973 ', 34, u'xc3xc0xc5xae'),

(u'20093503', u'xc1xeexbaxfcxb3xe5', u'u7537 ', 25, u'2Bxc7xe0xc4xea'),

(u'20093504', u'xc8xcexd3xafxd3xaf', u'u5973 ', 24, u'xc6xafxc1xc1')]

[Finished in 0.2s]

虽然摆脱了问号和乱码的困扰,但这仍不是我们想要的结果,但这个确实是正确的,因为结果是utf8编码。这个现象确实诡异,请教了许多高手,得知,最好的结果就是逐个字段查询,才能显示中文,整个查询的话,会以utf8的格式显示出来。

上述代码中第14行data是整个查询的结果,如果指定某个具体的字段,如print data[0][2](表示取查询结果的第一行第三列的字段的值),则会输出中文。

其实不仅仅是mssqlserver数据库,mysql(需下载MySQLdb包)、sqllite(python自带的文件数据库)、mongodb(需下载PyMongo包)等或者是普通文本文件也是类似的解决方案。

python django 连接sqlserver2005数据库 经常连接失败

哦。如果真的存在这样的问题,可能有几个方面。

一个是网络环境本身不好。甚至还有网络防火墙。

第二个原因可能是sqlserver2005自身的配置。关于长链接的维持,会话失效时间的设置。

第三个原因是所用的驱动程序。我印象中有几种。我在linux上用了一种很稳定,连接sql server一直没有发现问题。我是直接驱动的。没有经过django。

第四,你在django访问的时候,如果发现连接错误,可以要求数据重新连接。这个以前我似乎配置过,几年不用了。

第五,可能与你采集的数据有关。你的数据中是否存在数据太大。下载时间过长。以及不合法数据。这些也可能导致django出错。显示为连接失败。估计是数据错误。

python将exce文件含有多个sheet同时l导入sqlserver数据库

需要使用xlrd和MySQLdb库,可自行百度下载。

#coding:utf-8

import xlrd

import MySQLdb

data=xlrd.open_workbook(r'F:\test\baseParam.xls') #读取表格db="测试" #需要操作的数据库

conn= MySQLdb.connect(

host='localhost',

port = 3306,

user='root',

passwd='123456',

charset='utf8'

) #连接mysql

cur=conn.cursor()

cur.execute("drop database if exists "+db)cur.execute("create database "+db)

conn.select_db(db) #初始化数据库

sheet_names=data.sheet_names()

for sheet_name in sheet_names:

sheet=data.sheet_by_name(sheet_name)

row_data=sheet.row_values(0)

row_data=' varchar(256) DEFAULT NULL, '.join(row_data)row_data=row_data+' varchar(256) DEFAULT NULL'

cur.execute('create table '+sheet_name+'('+row_data+')') #数据库中创建表格ss=''

for index in range(sheet.ncols):

ss=ss+'%s, '

ss=ss.rstrip(', ')

sql="insert "+ sheet_name+ " values(" +ss +")"param=[]

for index in range(1,sheet.nrows):

row_values=sheet.row_values(index)

param.append(row_values)

cur.executemany(sql,param) #插入数据

conn.commit()

cur.close()

conn.close() #释放数据连接

python连接MySQL数据库问题? cursor( ) 、execute()和fetc

MySQLdb.connect是python 连接MySQL数据库的方法,在Python中 import MySQLdb即可使用,至于connect中的参数很简单:\x0d\x0ahost:MySQL服务器名\x0d\x0auser:数据库使用者\x0d\x0apassword:用户登录密码\x0d\x0adb:操作的数据库名\x0d\x0acharset:使用的字符集(一般是gb2312)\x0d\x0acursor = db.cursor() 其实就是用来获得python执行Mysql命令的方法,也就是\x0d\x0a我们所说的操作游标\x0d\x0a下面cursor.execute则是真正执行MySQL语句,即查询TABLE_PARAMS表的数据。\x0d\x0a至于fetchall()则是接收全部的返回结果行 row就是在python中定义的一个变量,用来接收返回结果行的每行数据。同样后面的r也是一个变量,用来接收row中的每个字符,如果写成C的形式就更好理解了\x0d\x0afor(string row = ''; row

回答于 2022-11-16

python3 连接 sql server 2014

真巧,刚刚做过,链接的也是MSSQL2014的数据库,并且测试是成功的

import pymssql

conn=pymssql.connect(host='主机名或IP',user='数据库用户名',password='数据库用户密码',database='数据库名',charset='utf8')

cursor =conn.cursor()

if not cursor:

raise(NameError,"连接数据库失败")

strsql="select * from 表"

try:

cursor.execute(strsql) #执行SQL语句

conn.commit() #修改数据后提交事务

except:

print(0,"错误:"+strsql)

pass

finally:

print(l,"成功!")

pass

cursor.close() #关闭对象

conn.close() #关闭数据库连接

import pymssql 这句话必须有,主要是pymssql 必须要安装上,可以使用pip list来查看是否安装


本文名称:包含python连接sqlserver数据库的词条
URL网址:http://bjjierui.cn/article/dssegge.html

其他资讯