add sybase support

Issue #785 resolved
Former user created an issue

please add support for a modern version of sybase.

Comments (18)

  1. Mike Bayer repo owner
    • changed milestone to blue sky
    • changed component to engine
    • assigned issue to

    care to contribute a sybase license / installation CD ? ;) else someone must volunteer.

  2. Former user Account Deleted

    any time frame on when sqlalchemy.databases.sybase will use pyodbc, or when sybase will be an officially supported database?

  3. Mike Bayer repo owner

    we would need maintainers and testers of the current script. we have no way of testing the implementation without a Sybase installation.

  4. Former user Account Deleted

    Replying to zzzeek:

    I volunteer. I have a rudimentary version of a Sybase ASE backend working on top of python-sybase and pyodbc.

  5. Former user Account Deleted

    see posts on the sqlalchemy group from phrrngtn@googlemail.com for background information on the Sybase ASE driver. The code is still failing many of the unit tests but these appear to be cascading errors rather than independent ones. Also, the initial failure is frequently a problem with a tear-down trying to drop a database object that still has referential integrity constraints.

  6. Paul Harrington
    • assigned issue to

    I have done a bunch of work on the Python-sybase module ( http://python-sybase.sourceforge.net). Initial progress was very slow as I did not have adequate diagnostics/debugging set up. However, after some ugly hacking (which should be removed before merging this code into the tree!), the dialect passes quite a few of the unit-tests. The changes were: . get sybase ct-lib diagnostics forwarded to the standard logging framework . add positional parameter support to the python-sybase driver . guard against unicode strings being used for named parameters (not sure what the level of unicode support is in Python-sybase nor in ct-lib itself) . wrap server-message callbacks as logging invocations (this is until such time as we figure out which ones should be thrown as exceptions) . get introspection working (kinda sorta)

    A lot of work remains but hopefully on 'higher-level' stuff like getting all the unit-tests to work, adding pyodbc support.

  7. Michael Trier

    There's a lot of work there. You're probably going to want to look at the 0.6 branch because it changes how we structure dialects and the dbapis that they use.

  8. Paul Harrington

    Yes, I'll look at the 0.6 stuff soon. For the moment, we are getting by with the mssql dialect against Sybase (via pyodbc + FreeTDS) as all current applications are read-only.

    pjjH

  9. Mike Bayer repo owner
    • changed milestone to 0.6.0
    • changed component to sybase

    this is now present in trunk. the dialect is being tested by some third parties and works reasonably, with missing features most notably reflection.

  10. Mike Bayer repo owner

    wow that patch there is....interesting ? what is hacked_execute() accomplishing? i can see kind of what nums/sane are accomplishing on the unusual structure of "sysreferences" though I'd try to take out all the hardcody there and replace with some SQL generation functions based on xrange(16)..its not apparent why the verbosity of those is needed in any case (haven't read Itzik Ben-Gan though)

  11. Log in to comment