IronPython db-api 2.0

发布于 2024-07-12 05:25:55 字数 106 浏览 12 评论 0原文

有谁知道哪些 db-api 2.0 驱动程序可以与 IronPython 配合使用? 如果是这样,有人尝试过将它与 SQLAlchemy、SQLObject 或 Django ORM 一起使用吗?

Does anyone know which if any db-api 2.0 drivers work with IronPython? If so, has anyone tried using it with SQLAlchemy, SQLObject or the Django ORM?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夕嗳→ 2024-07-19 05:25:55

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

导入 adodbapi 作为数据库

Database.paramstyle = 'format'

I know this is a very late answer, but I only saw the question today -- so I am answering it today.
http://sourceforge.net/projects/adodbapi
contains a fully compliant db-api-2 module which works with IronPython. It is restricted to use in Windows, since it uses classic ADO, using COM calls, rather than ADO.NET. [I tried a true .NET version, but it worked very poorly. The fork for it is still there if anyone wants to follow up.] A fork of this module was adapted for a django extension for MS-SQL. I have pulled those adaptations back in to the main fork. I do not know whether anyone has tried using the result in django, yet, but it should work, provided one explicitly switches the paramstyle to "format".

import adodbapi as Database

Database.paramstyle = 'format'

夏有森光若流苏 2024-07-19 05:25:55

以下是 sqlalchemy 的一些答案:

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

在线程的最后,有人在去年 9 月尝试了 IronPython 的测试版,并且它正在工作。

也在这里:
SqlAlchemy 讨论。

对 jython、ironpython 等的支持更多的是
插入,因为现有的 SQL 编译代码可以重用。

Here's some answers for sqlalchemy:

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

At the end of the thread, someone tried a beta of IronPython in September last year and it was working.

Also here:
SqlAlchemy discussion.

Support for jython, ironpython, others is much more of a
drop-in as existing SQL compilation code can be reused.

淑女气质 2024-07-19 05:25:55

pypyodbc 在 IronPython 下运行,并且兼容 db-api 2.0。 您可以参考这篇文章,了解如何在 IronPython 下启用 SQLAlchemy。

pypyodbc runs under IronPython and it's db-api 2.0 compliant. You can refer to this article to see how to enable SQLAlchemy under IronPython.

謸气贵蔟 2024-07-19 05:25:55

我已经能够按照此处的步骤(进行一处更改)让 sqlalchemy 在 IronPython 2.7 上与 MSSQL 2008 一起使用: [https://code.google.com/p/pypyodbc/wiki/Enable_SQLAlchemy_on_IronPython][1]

我必须更改第 4 步中的最后一行。
删除除 pypyodbc 之外的所有内容

步骤 4:修改 IronPython 2.7\Lib\site-packages\sqlalchemy\dialects\mssql__init__.py,在顶部导入行中,在 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)

I have been able to get sqlalchemy working with MSSQL 2008 on ironpython 2.7 by following the steps here (with one change): [https://code.google.com/p/pypyodbc/wiki/Enable_SQLAlchemy_on_IronPython][1]

I had to change the last line below in step 4.
removing all except pypyodbc

Step 4: Modify IronPython 2.7\Lib\site-packages\sqlalchemy\dialects\mssql__init__.py, in the top import line, add pypyodbc after mxodbc, like this:

#from sqlalchemy.dialects.mssql import base, pyodbc, adodbapi, \ 
                                       pymssql, zxjdbc, mxodbc, pypyodbc
from sqlalchemy.dialects.mssql import base, pypyodbc

Now you can use SQLAlchemy with below code:

import sqlalchemy
engine = sqlalchemy.create_engine('mssql+pypyodbc://MSSQL_DSN')
for row in engine.execute('select * from aTable'):
    print (row)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文