<div dir="ltr"><div><div>I have just completed a major re-factor of adodbapi.  My ability to test using IronPython is quite limited right now -- the only SQL Server I can reach does not have IronPython installed, and the IronPython I built on my Ubuntu box still has library problems.  If anyone can help out by testing this new version, I would really appreciate it.<br>

<br></div>This re-factor may do two things for IronPython, eventually:  It is now modularized, so that it should be fairly easy to make a true ADO.Net version (this one uses COM), and, it should be an important step in running django on Iron. <br>

</div><br>Boilerplate follows...<br><div>--<br>!!! NOW WORKS FROM LINUX !!!  (as a remote client using Pyro4)<br>--<br>ADO is Microsoft's update for ODBC, and can be used to open<br>almost any tabular data source in existance. I have personally<br>

used adodbapi to read tables from: SQL Server, PostgreSQL, MySQL,<br>Jet (a.k.a. ACCESS), IBM DB2, Active Directory, and Excel.<br><br>Dozens of other sources are possible.  Since ADO is proprietary,<br>this requires the user to be running Windows.  I have added a new<br>

"remote" module which will run on a Linux computer, and allow a <br>Windows computer to act as a "proxy" to make these data sources<br>available using a db-api version 2 interface on Linux.  The remote<br>

client has almost the same interface as the local adodbapi --<br>except that custom error handlers and custom variant conversions <br>are not supported from the remote.<br><br>In order to make this work, I had to do major surgery on the way<br>

adodbapi processes connection strings. (The complexity of a <br>connection string is the price you pay for the power of the ADO<br>connection engine.) I am happy to say that you can now follow the<br>PEP-249 suggestion using the USER, PASSWORD, HOST, and DATABASE <br>

keywords (along with any others you wish to define) as arguments<br>to the .connect() method. <br><br>There are also connection keyword macros. Since the remote computer<br>may not be aware of whether the server is running 64 bit or 32 bit<br>

Python (which require different ADO "Providers") the remote may send<br>a macro to the server, allowing the server to choose the correct one.<br><br>There are also connection keywords for PARAMSTYLE, AUTOCOMMIT, and <br>

TIMEOUT, which allow you to override those defaults at connection time.<br><br>There is a new method for the connection object: <br>.get_table_names() which returns a list of all the table names in your <br>database. This works pretty much everywhere, and will even <br>

list the worksheets in a remote Excel spreadsheet.<br><br>The beta will be available in a source zip file from <br><a href="https://sourceforge.net/projects/adodbapi/files/adodbapi/2.5.0/">https://sourceforge.net/projects/adodbapi/files/adodbapi/2.5.0/</a><br>

<br>A rough draft of documentation is supplied as an .odt file.<br><br>Please, several people try this and look it over.  If all goes well, in<br>a few weeks it will be part of django-mssql.<br><br></div></div>