我对数据库,执行SQL查询等方面比较陌生。此刻,我专门为我的数据库使用了MS SQL Server(这是我们在工作中使用的),但希望对我的问题的回答可能比只针对特定数据库更普遍。pymssql与pyodbc与adodbapi相比...
我使用数据库接口应用程序本身(本例中为SQL Server Management Studio)做了很多工作,但我也通过python脚本做了一些工作,其中一些作为cron作业运行,其中一些作业是用户可以向数据库提交查询的网站。
我一直在使用pymssql模块来查询&从python写入数据库。但是我遇到了一些恼人的问题。 (看起来pymssql不能使用临时表,并且我也遇到了“自动提交”的问题,但这可能是我自己的错。)
因此,我对这种情况一无所知,我只是喜欢什么我应该走的方向。至于我可以告诉大家,我既可以:
- 使用pymssql,这直接交谈MS SQL服务器
- 使用pyodbc,这就需要安装freetds的第一&了unixODBC,并且将它们设置
- 使用adodbapi模块,我不确定这里需要什么需求。
- 另一种方法??
事情是,我没有充分得到什么ODBC的。这看起来像某种“认证中介”,有点像中间人,以确保用户是他/她所说的。而我对ADO的了解甚少。
虽然pymssql似乎是最简单的方法,但它似乎也是人们不那么重视的一种,并且最终会被弃用。我宁愿学习“正确”的方式,因为我几乎刚刚开始使用这些东西。
因此,我正在寻找一些关于如何让python与MS SQL Server交谈以及与一般数据库交谈的最佳方式的见解。我会将“最好”定义为最适合那些会做适度复杂的事情的人。 (虽然我刚刚开始,但我最终还是需要加强一些。)
谢谢! 迈克
正如2016年12月宣布的,pyodbc现在[由Microsoft正式支持](https://blogs.technet.microsoft.com/dataplatforminsider/2016/12/09/sql-server -python-什么新/)。 – 2017-01-01 22:17:57