IronPython db-api 2.0

Кто-нибудь знает, какие драйверы db-api 2.0 работают с IronPython? Если да, то кто-нибудь пробовал использовать его с SQLAlchemy, SQLObject или Django ORM?


person Vasil    schedule 18.01.2009    source источник


Ответы (4)


Я знаю, что это очень поздний ответ, но я увидел вопрос только сегодня, поэтому я отвечаю на него сегодня. http://sourceforge.net/projects/adodbapi содержит полностью совместимый модуль db-api-2, который работает с АйронПитон. Его нельзя использовать в Windows, поскольку он использует классический ADO с вызовами COM, а не ADO.NET. [Я попробовал настоящую версию .NET, но она работала очень плохо. Вилка для него все еще существует, если кто-то захочет продолжить.] Вилка этого модуля была адаптирована для расширения django для MS-SQL. Я вернул эти приспособления обратно в основную вилку. Я не знаю, пытался ли кто-нибудь использовать результат в django, но он должен работать, если явно переключать paramstyle на «format».

импортировать adodbapi как базу данных

База данных.paramstyle = 'формат'

person Vernon Cole    schedule 12.11.2012


pypyodbc работает под управлением IronPython и совместим с db-api 2.0. Вы можете обратиться к этой статье, чтобы узнать, как включить SQLAlchemy в IronPython.

person pypyodbc    schedule 08.03.2013

Мне удалось заставить sqlalchemy работать с MSSQL 2008 на ironpython 2.7, выполнив следующие действия (с одним изменением): [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, в верхней строке импорта добавьте pypyodbc после mxodbc, например:

#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)
person Testautomation    schedule 06.01.2016