Bo Shi wrote: > Hi All, > > I'm attempting to get rudimentary support for a Vertica deployment > using an ODBC connector. According to their docs, their dialect is > mostly compatible with Oracle and SQLServer dialects.
That's funny because Oracle and SQL server are utterly, totally different from a SQL quirks perspective. If I were to pick two dialects in SQLA that were *most* different from each other and also non-standard, those would be the two. create_engine() > using 'mssql+pyodbc' seems to work but upon attempting to execute a > simple select statement, I get a programming error indicating the > following failed to run: > > 'SELECT user_name() as user_name;' > > > So it seems the dialect is getting some additional state under the > hood. lib/sqlalchemy/dialects/mssql/pyodbc.py appears to be hooking > PyODBCConnector and MSDialect together. Is it possible to specify > another dialect here? If so, is there any documentation on how to do > so? you'd want to make yourself a "vertica" dialect module that imports the PyODBCConnector and uses it as a mixin. I'd suggest copying one of the existing dialects, and probably not the SQL server one unless you know that vertica has a lot of the transact-SQL lineage that SQL server does (the PG and SQLite dialects are the most barebones). To run it, add a setup.py which configures your library as a setuptools entry point, in this case the name would be "vertica+pyodbc": from setuptools import setup setup(name="SQLAVertica", description="...", entry_points={ 'sqlalchemy:plugins': ['vertica+pyodbc = mypackage.base:VerticaDialect'] } then using create_engine('vertica+pyodbc://user:p...@host/dbname') will load in your dialect.
-- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.