sqlalchemy ironpython python-db-api sqlobject

sqlalchemy - IronPython db-api 2.0



python-db-api sqlobject (4)

¿Alguien sabe si los controladores db-api 2.0 funcionan con IronPython? Si es así, ¿alguien ha intentado usarlo con SQLAlchemy, SQLObject o Django ORM?



Sé que esta es una respuesta muy tardía, pero solo vi la pregunta hoy, así que la respondo hoy. http://sourceforge.net/projects/adodbapi contiene un módulo db-api-2 totalmente compatible que funciona con IronPython. Está restringido para su uso en Windows, ya que utiliza ADO clásico, utilizando llamadas COM, en lugar de ADO.NET. [Intenté una verdadera versión .NET, pero funcionó muy mal. La bifurcación aún está allí si alguien quiere hacer un seguimiento.] Una bifurcación de este módulo fue adaptada para una extensión django para MS-SQL. Regresé esas adaptaciones a la horquilla principal. Aún no sé si alguien ha intentado utilizar el resultado en django, pero debería funcionar, siempre que uno cambie explícitamente el paramstyle al "formato".

importar adodbapi como base de datos

Database.paramstyle = ''formato''


pypyodbc se ejecuta con IronPython y es compatible con db-api 2.0. Puede consultar este artículo para ver cómo habilitar SQLAlchemy en IronPython.


Pude hacer que sqlalchemy trabaje con MSSQL 2008 en ironpython 2.7 siguiendo los pasos aquí (con un cambio): [ https://code.google.com/p/pypyodbc/wiki/Enable_SQLAlchemy_on_IronPython][1]

Tuve que cambiar la última línea a continuación en el paso 4. eliminar todo excepto pypyodbc

Paso 4: Modifique IronPython 2.7 / Lib / site-packages / sqlalchemy / dialects / mssql__init __. Py, en la línea de importación superior, agregue pypyodbc después de mxodbc, así:

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

Ahora puede usar SQLAlchemy con el siguiente código:

import sqlalchemy engine = sqlalchemy.create_engine(''mssql+pypyodbc://MSSQL_DSN'') for row in engine.execute(''select * from aTable''): print (row)