首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pymssql对pyodbc和adodbapi对..。

pymssql对pyodbc和adodbapi对..。
EN

Stack Overflow用户
提问于 2012-01-11 00:35:07
回答 2查看 30.9K关注 0票数 26

我对数据库、执行SQL查询等都比较陌生。目前我只对DBs使用MS SQL Server (这是我们在工作中使用的),但希望对我的问题的回答能够比对特定DB更普遍。

我使用DB接口应用程序完成了大量工作(在本例中是),但我也通过python脚本完成了一些工作,其中一些脚本以cron作业的形式运行,其中一些是可以让用户向DB提交查询的网站。

我一直在使用pymssql模块来查询&从python写入DBs。但我遇到了一些恼人的问题。( pymssql似乎不能使用临时表,而且我在“自动提交”方面也遇到了问题,但这很可能是我自己的错。)

所以我对这件事一无所知,我只想知道我该往哪个方向走。据我所知,我可以:

  • 使用pymssql,它直接与pymssql服务器对话
  • 使用pyodbc,这需要先安装FreeTDS和unixODBC,然后设置
  • 使用adodbapi模块,我不确定这里需要什么要求。
  • 是另一种方法?

问题是,我不完全得到了ODBC所做的。这似乎是某种“身份验证中介”,有点像一个中间人,以确保用户是他/她所说的人。我对ADO的理解更少。

虽然pymssql似乎是最简单的方法,但它似乎也是人们不太重视的方法,而且最终会被废弃。我宁愿学习“正确”的方法,因为我只是刚开始学习这些东西。

因此,我正在寻找一些关于如何让python与MS进行对话,以及如何与DBs进行一般对话的一些有知识的意见。我会把“最好”定义为对那些使用它做一些比较复杂的事情的人来说最好的。(在我刚开始的时候,这是我最终不得不增加的一些东西。)

谢谢!麦克

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-16 14:22:53

pyodbc (推荐)

我几个月前就开始使用这个模块了,到目前为止还没有收到任何投诉。开发社区似乎比pymssql更活跃。到目前为止,我没有安装问题(32位Win XP和64位服务器2008 R2)。您将有一个额外的优势,即您不局限于MS服务器。

如果您安装在windows上,您可能会发现:http://www.lfd.uci.edu/~gohlke/pythonlibs/很有用。

pymssql

我使用1.x版本已经有大约2.5年了。对于大型对象的大小限制,我遇到了一些小问题。我也遇到了大量的问题,当多线程(到了点,我必须关闭)。1.x基于不推荐的MS库。但是,最近的版本是2.x,不再使用这些废弃的库。相反,它使用FreeTDS (比如pyodbc)。听起来不错,但我还没试过呢。

[医]阿多巴米( adodbapi )

大约一年前,我试过将pymssql替换为adodbapi,一些与pymssql很好的查询没有明显的原因而失败。我很快又抛弃了阿多巴米。

票数 23
EN

Stack Overflow用户

发布于 2014-02-04 21:37:13

根据我的经验,最近PYODBC有点问题。首先,它似乎没有正确或可靠地管理unicode字符串。其次,API有点过时,而且与Python (PEP-249)不太兼容。

我正处于将项目代码迁移到PYMSSQL的过程中,到目前为止,在我的测试中,它涵盖了以上两个问题的基础。我不知道这个API有什么不可取之处,因为它似乎经常更新(主要版本在2013年10月),文档或多或少都是最新的,而且是活动的。

这些只是我目前在PYODBC和PYMSSQL方面的发现和进展。如有任何改变,可更改路线:)

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8812631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档