On Wed, May 11, 2016 at 10:37 AM, Piotr Dobrogost <p...@2016.groups.google.dobrogost.net> wrote: >> On Wednesday, May 11, 2016 at 11:03:57 AM UTC+2, Simon King wrote: >>> On Wed, May 11, 2016 at 9:39 AM, Piotr Dobrogost >>> >>> What's the reason for these differences? >> >> At least for the quoting issue, it sounds like you aren't using the >> Oracle dialect. What does "print mock_engine.dialect" report? > > <sqlalchemy.dialects.oracle.cx_oracle.OracleDialect_cx_oracle object at > 0x7f99d2b0db10> >
Ah, ok. The problem is that the "sql" parameter in your executor function has not yet been compiled for the dialect in use. Try this instead: from __future__ import print_function import sqlalchemy as sa engine = sa.create_engine( 'oracle://', strategy='mock', executor=lambda sql, *multiparams, **params: print(sql.compile(bind=engine)) ) metadata = sa.MetaData() t = sa.Table( '_acl', metadata, sa.Column('_id', sa.Integer, primary_key=True), ) metadata.create_all(engine) engine.execute(t.select()) Simon -- 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 https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.