【发布时间】:2017-02-17 21:18:01
【问题描述】:
有谁知道是否有任何 db-api 2.0 驱动程序可以与 IronPython 一起使用?如果是这样,有没有人尝试将它与 SQLAlchemy、SQLObject 或 Django ORM 一起使用?
【问题讨论】:
标签: sqlalchemy ironpython python-db-api sqlobject
有谁知道是否有任何 db-api 2.0 驱动程序可以与 IronPython 一起使用?如果是这样,有没有人尝试将它与 SQLAlchemy、SQLObject 或 Django ORM 一起使用?
【问题讨论】:
标签: sqlalchemy ironpython python-db-api sqlobject
我知道这是一个很晚的答案,但我今天才看到这个问题 - 所以我今天才回答。 http://sourceforge.net/projects/adodbapi 包含一个完全兼容的 db-api-2 模块,可与 IronPython 一起使用。它仅限在 Windows 中使用,因为它使用经典的 ADO,使用 COM 调用,而不是 ADO.NET。 [我尝试了一个真正的 .NET 版本,但效果很差。如果有人想跟进,它的分支仍然存在。] 这个模块的一个分支适用于 MS-SQL 的 django 扩展。我已将这些改编重新拉回主叉。我不知道是否有人尝试在 django 中使用结果,但它应该可以工作,前提是明确将 paramstyle 切换为“格式”。
将 adodbapi 导入为数据库
Database.paramstyle = '格式'
【讨论】:
这里有一些关于 sqlalchemy 的答案:
http://groups.google.com/group/sqlalchemy/browse_thread/thread/ea3ee246680c9d14?pli=1
在帖子的最后,有人在去年 9 月试用了 IronPython 的 beta 版,它正在运行。
也在这里: SqlAlchemy discussion.
对 jython、ironpython 等的支持更多的是 可以重复使用现有的 SQL 编译代码。
【讨论】:
按照此处的步骤(有一处更改),我已经能够在 Ironpython 2.7 上使用 MSSQL 2008 使用 sqlalchemy:[https://code.google.com/p/pypyodbc/wiki/Enable_SQLAlchemy_on_IronPython][1]
我必须在第 4 步中更改下面的最后一行。 删除除 pypyodbc 之外的所有内容
第四步:修改 IronPython 2.7\Lib\site-packages\sqlalchemy\dialects\mssql__init__.py,在最上面的 import 行中,在 mxodbc 之后添加 pypyodbc,如下所示:
#from sqlalchemy.dialects.mssql import base, pyodbc, adodbapi, \
pymssql, zxjdbc, mxodbc, pypyodbc
from sqlalchemy.dialects.mssql import base, pypyodbc
现在您可以通过以下代码使用 SQLAlchemy:
import sqlalchemy
engine = sqlalchemy.create_engine('mssql+pypyodbc://MSSQL_DSN')
for row in engine.execute('select * from aTable'):
print (row)
【讨论】: