问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于python与sql server2000的数据库连接

发布网友 发布时间:2022-04-28 11:26

我来回答

2个回答

懂视网 时间:2022-05-10 22:44

这篇文章主要介绍了Python连接SQLServer2000的方法,结合实例形式分析了Python实现数据库连接过程中所遇到的常见问题与相关注意事项,需要的朋友可以参考下

本文实例讲述了Python连接SQLServer2000的方法。分享给大家供大家参考,具体如下:

pymssql.sourceforge.net/ 介绍PYTHON 连接MSSQL的好地址的哦!

Python好的一个方法就是能够在网上找到很多现成的模块然后直接下载拿过来用就可以了。具体快速开发的一个原因也就是这个了。现在就是主要来研究一个pymssql这个模块的操作功能了!

可以安装之后直接查询帮助文档进行查看到这个模块的一些功能帮助文档。

1.一个解决乱码问题的方法:

s.decode('gbk', 'ignore')

比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作

s.decode('gbk').encode('utf-8')

可是,在实际开发中,我发现,这种办法经常会出现异常:

UnicodeDecodeError: 'gbk' codec can't decode bytes in position 30664-30665: illegal multibyte sequence

这是因为遇到了非法字符——尤其是在某些用C/C++编写的程序中,全角空格往往有多种不同的实现方式,比如/xa3/xa0,或者/xa4/x57,这 些字符,看起来都是全角空格,但它们并不是“合法”的全角空格(真正的全角空格是/xa1/xa1),因此在转码的过程中出现了异常。

幸运的是,tiny找到了完美的解决办法(我因此被批评看文档不仔细,汗啊……)

s.decode('gbk', 'ignore').encode('utf-8')

因为decode的函数原型是decode([encoding], [errors='strict']),可以用第二个参数控制错误处理的策略,默认的参数就是strict,代表遇到非法字符时抛出异常;

  如果设置为ignore,则会忽略非法字符;
  如果设置为replace,则会用?取代非法字符;
  如果设置为xmlcharrefreplace,则使用XML的字符引用。

这个方法帮助确实 是相当大的哦。对于那种在数据库中存储了全角与半角的非法字符的问题可以这样来进行解决处理的哦!

字符编码问题永远是一个让人头疼的问题哈哈!

2.www.python.org/dev/peps/pep-0249/

上面提供了Python-DBAPI的常用操作功能。

总结出来相关的API操作方法:

3.总结出来Python连接数据库的一般程序过程是这样来写的:

第一步:导入相关的模块

其中MYSQL:

import MySQLdb

其中MSSQL:

import pymssql

第二步:打开连接

其中MYSQL:

conn = MySQLdb.connect(self.dbhost,self.dbuser,self.dbpasswd,self.database)

其中MSSQL:

conn = pymssql.connect(host=self.dbhost,user=self.dbuser,password=self.dbpasswd,database=self.database)

[通过本身的函数原型来定义出来这个方法的]

第三步:连接完了之后就要开始创建一个cursor了。通过这个对象来对数据库发送一个请求操作。

代码:

curs = conn.cursor()

相当于JAVA中的Statement对象一样的。通过语句来进行提交SQL命令的

第四步:开始发送SQL命令到数据库服务器了,可以这样来做

curs.execute(SQL)

例如:

curs.execute("select * from test")

其中的SQL命令可以是任意的SQL语句 可以是执行INSERT 操作或DELETE操作也可以是SELECT操作的

要注意到 执行完了之后要进行commit()提交一次的。

例如:

cursor.execute("insert into test(id) values(1)")

如果是执行了SELECT操作的话就要进行第五步操作了:

第五步:

curs.execute("select * from test")
rows = curs.fetchall()

其中的fetchall()只是我们的cursor对象的一个方法而已的。

现在就可以提取出来相关信息了

for i in range(len(rows)):
 print "Row",i,"name",rows[i][0],"value",rows[i][1]

看我写的代码:

def test(self):
 conn = self.connect()
 sql="select * from bbs where id<20"
 curs = conn.cursor() #得到一个游标对象
 curs.execute(sql) #执行一个SQL语句
 rows=curs.fetchall() #得到全部的查询结果集
 for i in range(len(rows)): #
 print "Row",i,"name",rows[i][3],"value",rows[i][4]
 conn.close()

我明白了:通过这样的方法的话 得到的一行记录其实是一个元组的数据结构的。

要取其中的一个可以用一个类似两维数组的方法进行查询出来的。

rows[1][0]:表示第一条记录中的第一个位置的值的。

然后再来看看 将其从数据库中提取出来之后进行编码处理与解码处理

for i in range(len(rows)):
 print rows[i][4].decode('gb2312', 'ignore').encode('gb2312')

热心网友 时间:2022-05-10 19:52

用 pyodbc 可以实现
可以参考:http://www.room702.cn/index.php/archives/40

====

con = pymssql.connect(host='192.168.13.122',user='sa',password='',database='YOUR_DB_NAME_HERE')
cur = con.cursor()
cur.execute("Your_T_SQL_HERE")
rows = cur.fetchall()
print rows

不过pymssql读ntext字段的时候会出问题的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
王者荣耀:哪些英雄不是很强但是很快乐?桑启上榜,第一名将出荣耀... 声卡麦克风哪个牌子比较好 Telefunken R-F-T AK47简介 一本贱民小说 男主角很漂亮机甲玩的很好 替主人考试得了全帝国第三... 汽车模型推荐- amiibo 塞尔达传说 荒野之息 林克(弓) 2024 下半年必玩的 6 款 Switch 游戏! Maxfactory Figma 涂装完成版 模型手办-塞尔达传说-林克手办 MaxFactory《塞尔达传说:黄昏公主》Figma 林克 再版 - Rakuten 请问南京工程学院四级不过能拿到学位证么 南京工程学院2023年成人高考招生简章 正规短信群发平台有哪些,用过的帮忙一下,不要乱发广告,谢谢 linux 下用python连接windows下sqlserver报错 python连接sqlserver数据库问题 请问有没有什么软件是可以帮助淘宝店主群发短信的呢?跪求啊,, python连接sqlserver数据库报错,是什么原因 python如何连接sql server? python连不上sqlserver python怎么连接SQL SERVER? 为什么bilibili连接qq失败 哔哩哔哩的QQ视频全部显示‘连接QQ…失败’ iphon... python怎么连接sqlserver 解三个数字 只言片语解三个数字 天衣无缝,解三个数字 改航道,解三个数字? qq点赞怎么取消金豆? 同时出现解三个数字? 很稀有解三个数字 二零零二解三个数字 千门万户,,解三个数字! 在qq上点赞过了,还可以取消吗 Python 上,用什么库连接 SqlServer2005 比较好 1000元能炒黄金股吗 有没有推荐群发短信的平台或者什么群发短信app呢。跪求 python连接sqlserver哪个性能好 一千块可不可以炒黄金白银呢? [image]5 有没有推荐群发短信的平台或者什么群发短信app呢。谁有呢,帮忙推荐下吧,快递群发 请问大神有知道为什么python连接sqlserver返回始终是None呢 百悟科技公司短信服务是不是真的?对企业经营有帮助吗? 通过python pyodbc模块连接 sql server 数据库时返回 以下错误,请问是... 有没有支持发送和接收短信的平台或软件 ? 从来没有使用过群发短信平台,哪位帮忙指导下啊?在北京 如何通过python远程访问sql server 2005数据库 1200元可以炒黄金吗? 广东征地青苗补偿标准 广东房屋征收与补偿政策 广东征地荔枝树赔偿标准 广东话猪婆是什么意思? 几千元能做黄金投资吗?在那里开户? 一个男人叫一个女人猪婆 是什么意思 广东省征地果树补偿标准