Hi, I know this is a long time, but did you ever get SQLAlchemy to successfully work with Vertica ?
Please let me know as I am interested in doing the same. Thanks, Femi Anthony On Tuesday, February 2, 2010 11:37:15 AM UTC-5, Bo wrote: > > Hi Michael, > > Thanks for the tip on dialect creation; I have a working connection > and much of the low level library functionality appears to "just > work". > > I've just started digging into the internals to begin implementing > introspection support. One issue I've encountered is that PyODBC > happens to return boolean columns as strings with values "1" and "0". > This confuses the current type system. I have skimmed the > TypeDecorator documentation but am still confused about how to > associate that with this custom dialect. Any hints? > > I have attached the dialect base.py and a few test cases (not sure > they're useful as Vertica is frustratingly secretive about everything) > if you have time to review and comment. > > On Fri, Jan 15, 2010 at 2:57 PM, Bo Shi <bs1...@gmail.com <javascript:>> > wrote: > >> 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. > > > > I was a bit puzzled by this also (granted this was from some early > > press release I dredged up* from google). I'm still working through > > their documentation and haven't run across any configuration that > > might enable a compatability mode yet. > > > > > > * "improved compatibility with Oracle and SQLServer SQL dialects" > > > http://www.vertica.com/company/news_and_events/Vertica-Analytics-Database-2.5-The-Most-Cost-Effective-Way-To-Modernize-Data-Warehousing > > > >> 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:pw@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 sqlal...@googlegroups.com<javascript:> > . > >> To unsubscribe from this group, send email to > sqlalchemy+...@googlegroups.com <javascript:>. > >> For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. > >> > >> > >> > >> > > > > -- 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?hl=en. For more options, visit https://groups.google.com/groups/opt_out.