I have been looking at using sqlalchemy in an internal company cherrypy application I am working on. It will need to interface with my companies iSeries server in order to use ERP data. I have been using pyodbc so far and everything works great. I am thinking of adding access to another database that is postgres. Rather than write that stuff again, I was thinking about trying to use sqlalchemy. If I use that I would want to use it for both....one for the iSeries (DB2) and one for postgres......
So, I started writing a "dialect" for iseries+pyodbc and want to make sure I am headed down the right path. It seems to be working so far.... import sqlalchemy as sa import sqlalchemy_iseries from urllib.parse import quote engine = sa.create_engine( "iseries+pyodbc:///?odbc_connect={connect}".format( connect=quote(connect)), pool_size=1) con = engine.connect() # Only using like a pyodbc cursor, executing specifically created statements. rows = con.execute("SELECT * FROM alpha.r50all.lbmx") # Access via name like a dictionary rather than row.LBID for row in rows: print(row['LBID']) con.close() Being new to sqlalchemy I am hoping to get some advice on whether what I am doing below is basically going in the right direction or point me in the right direction if I am headed the wrong way (or reinventing something) ..... Here is what I have so far... *__init__.py:* from sqlalchemy.dialects import registry from . import pyodbc dialect = pyodbc.dialect registry.register("iseries.pyodbc", "sqlalchemy_iseries", "dialect") *base.py:* from sqlalchemy.engine import default class ISeriesDialect(default.DefaultDialect): name = 'iseries' max_identifier_length = 128 schema_name = "qgpl" *pyodbc.py:* from .base import ISeriesDialect from sqlalchemy.connectors.pyodbc import PyODBCConnector class ISeriesDialect_pyodbc(PyODBCConnector, ISeriesDialect): pyodbc_driver_name = 'iSeries Access ODBC Driver' def _check_unicode_returns(self, connection): return False dialect = ISeriesDialect_pyodbc -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.