当前位置:  开发笔记 > 编程语言 > 正文

使用python或ironpython访问mssql的最简单方法是什么?

如何解决《使用python或ironpython访问mssql的最简单方法是什么?》经验,为你挑选了3个好方法。

我已经在我的个人计算机上运行了mssql 2005,我希望运行一些python脚本.我正在寻找一种方法来对数据进行一些非常简单的访问.我想运行一些select语句,处理数据并且可能让python保存带有结果的文本文件.

不幸的是,尽管我对python有点了解并且对数据库有点了解,但是我很难通过阅读来判断一个库是否符合我的要求.理想情况下,我想要的东西适用于其他版本的mssql,是免费的,许可允许商业使用,使用简单,可能与ironpython一起使用.



1> babbageclunk..:

其他人似乎都有cPython - > SQL Server方面.如果要使用IronPython,可以使用标准ADO.NET API与数据库通信:

import clr
clr.AddReference('System.Data')
from System.Data.SqlClient import SqlConnection, SqlParameter

conn_string = 'data source=; initial catalog=; trusted_connection=True'
connection = SqlConnection(conn_string)
connection.Open()
command = connection.CreateCommand()
command.CommandText = 'select id, name from people where group_id = @group_id'
command.Parameters.Add(SqlParameter('group_id', 23))

reader = command.ExecuteReader()
while reader.Read():
    print reader['id'], reader['name']

connection.Close()

如果您已经有IronPython,则无需安装任何其他东西.

这里和这里提供了大量的文档.


不幸的是,ADO.NET比相应的Python DBAPI代码更加冗长(一般来说,.NET类库也是如此).但它不是太糟糕,并且很容易包装在DBAPI模块中.我这样做是为了使用SQLAlchemy.

2> Jason Baker..:

我使用SQL Alchemy和cPython(我不知道它是否适用于IronPython).如果您使用过Hibernate/nHibernate,那将会非常熟悉.如果这对你来说有点过于冗长,你可以使用Elixir,它是SQL Alchemy上的一个薄层.要使用其中任何一个,你需要pyodbc,但这是一个非常简单的安装.

当然,如果你想直接写SQL而不是使用ORM,你只需要pyodbc.



3> ConcernedOfT..:

pyodbc附带Activestate Python,可以从这里下载.连接到SQL Server 2005数据库的最小odbc脚本如下所示:

import odbc

CONNECTION_STRING="""
Driver={SQL Native Client};
Server=[Insert Server Name Here];
Database=[Insert DB Here];
Trusted_Connection=yes;
"""

db = odbc.odbc(CONNECTION_STRING)
c = db.cursor()
c.execute ('select foo from bar')
rs = c.fetchall()
for r in rs:
    print r[0]

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有