【问题标题】:IronPython db-api 2.0IronPython db-api 2.0
【发布时间】:2017-02-17 21:18:01
【问题描述】:

有谁知道是否有任何 db-api 2.0 驱动程序可以与 IronPython 一起使用?如果是这样,有没有人尝试将它与 SQLAlchemy、SQLObject 或 Django ORM 一起使用?

【问题讨论】:

    标签: sqlalchemy ironpython python-db-api sqlobject


    【解决方案1】:

    我知道这是一个很晚的答案,但我今天才看到这个问题 - 所以我今天才回答。 http://sourceforge.net/projects/adodbapi 包含一个完全兼容的 db-api-2 模块,可与 IronPython 一起使用。它仅限在 Windows 中使用,因为它使用经典的 ADO,使用 COM 调用,而不是 ADO.NET。 [我尝试了一个真正的 .NET 版本,但效果很差。如果有人想跟进,它的分支仍然存在。] 这个模块的一个分支适用于 MS-SQL 的 django 扩展。我已将这些改编重新拉回主叉。我不知道是否有人尝试在 django 中使用结果,但它应该可以工作,前提是明确将 paramstyle 切换为“格式”。

    将 adodbapi 导入为数据库

    Database.paramstyle = '格式'

    【讨论】:

      【解决方案2】:

      这里有一些关于 sqlalchemy 的答案:

      http://groups.google.com/group/sqlalchemy/browse_thread/thread/ea3ee246680c9d14?pli=1

      在帖子的最后,有人在去年 9 月试用了 IronPython 的 beta 版,它正在运行。

      也在这里: SqlAlchemy discussion.

      对 jython、ironpython 等的支持更多的是 可以重复使用现有的 SQL 编译代码。

      【讨论】:

        【解决方案3】:

        pypyodbc 在 IronPython 下运行,它与 db-api 2.0 兼容。您可以参考这个article 了解如何在 IronPython 下启用 SQLAlchemy。

        【讨论】:

          【解决方案4】:

          按照此处的步骤(有一处更改),我已经能够在 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)
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-10-29
            • 2011-06-16
            • 1970-01-01
            • 1970-01-01
            • 2010-12-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多