Weiß jemand, welche, wenn überhaupt db-api 2.0-Treiber mit IronPython arbeiten? Wenn ja, hat jemand versucht, es mit SQLAlchemy, SQLObject oder dem Django ORM zu verwenden?
Antworten
Zu viele Anzeigen?Ich weiß, dass dies eine sehr späte Antwort ist, aber ich habe die Frage erst heute gesehen - also beantworte ich sie heute. http://sourceforge.net/projects/adodbapi enthält ein vollständig konformes db-api-2-Modul, das mit IronPython funktioniert. Es ist auf die Verwendung unter Windows beschränkt, da es klassisches ADO mit COM-Aufrufen und nicht ADO.NET verwendet. [Ich habe eine echte .NET-Version ausprobiert, aber sie funktionierte nur sehr schlecht. Der Fork dafür ist immer noch da, falls jemand das weiterverfolgen möchte]. Eine Abspaltung dieses Moduls wurde für eine Django-Erweiterung für MS-SQL angepasst. Ich habe diese Anpassungen wieder in den Hauptzweig aufgenommen. Ich weiß nicht, ob jemand versucht hat, das Ergebnis in django, noch, aber es sollte funktionieren, vorausgesetzt, man schaltet explizit die paramstyle zu "Format".
import adodbapi as Datenbank
Datenbank.paramstyle = 'format'
Hier sind einige Antworten für Sqlalchemy:
http://groups.google.com/group/sqlalchemy/browse_thread/thread/ea3ee246680c9d14?pli=1
Am Ende des Threads hat jemand im September letzten Jahres eine Beta-Version von IronPython ausprobiert, und es hat funktioniert.
Auch hier: SqlAlchemy-Diskussion.
Die Unterstützung für jython, ironpython und andere ist viel mehr ein Drop-in, da der vorhandene SQL-Kompilierungscode wiederverwendet werden kann.
Ich konnte sqlalchemy mit MSSQL 2008 auf ironpython 2.7 zum Laufen bringen, indem ich den Schritten hier folgte (mit einer Änderung): [ [https://code.google.com/p/pypyodbc/wiki/Enable\_SQLAlchemy\_on\_IronPython\]\[1\]](https://code.google.com/p/pypyodbc/wiki/Enable_SQLAlchemy_on_IronPython][1])
Ich musste die letzte Zeile unten in Schritt 4 ändern. alle außer pypyodbc entfernen
Schritt 4: Ändern von IronPython 2.7 \Lib\site -pakete \sqlalchemy\dialects\mssql__init__.py In der obersten Importzeile fügen Sie pypyodbc nach mxodbc ein, etwa so:
#from sqlalchemy.dialects.mssql import base, pyodbc, adodbapi, \
pymssql, zxjdbc, mxodbc, pypyodbc
from sqlalchemy.dialects.mssql import base, pypyodbc
Jetzt können Sie SQLAlchemy mit dem unten stehenden Code verwenden:
import sqlalchemy
engine = sqlalchemy.create_engine('mssql+pypyodbc://MSSQL_DSN')
for row in engine.execute('select * from aTable'):
print (row)