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.


Reply via email to