有谁知道是否有任何 db-api 2.0 驱动程序可与 IronPython 一起使用?如果是这样,有没有人尝试将它与 SQLAlchemy、SQLObject 或 Django ORM 一起使用?
4 回答
我知道这是一个很晚的答案,但我今天才看到这个问题——所以我今天才回答。 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 讨论。
对 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)