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.
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. Boilerplate follows... -- !!! NOW WORKS FROM LINUX !!! (as a remote client using Pyro4) -- ADO is Microsoft's update for ODBC, and can be used to open almost any tabular data source in existance. I have personally used adodbapi to read tables from: SQL Server, PostgreSQL, MySQL, Jet (a.k.a. ACCESS), IBM DB2, Active Directory, and Excel. Dozens of other sources are possible. Since ADO is proprietary, this requires the user to be running Windows. I have added a new "remote" module which will run on a Linux computer, and allow a Windows computer to act as a "proxy" to make these data sources available using a db-api version 2 interface on Linux. The remote client has almost the same interface as the local adodbapi -- except that custom error handlers and custom variant conversions are not supported from the remote. In order to make this work, I had to do major surgery on the way adodbapi processes connection strings. (The complexity of a connection string is the price you pay for the power of the ADO connection engine.) I am happy to say that you can now follow the PEP-249 suggestion using the USER, PASSWORD, HOST, and DATABASE keywords (along with any others you wish to define) as arguments to the .connect() method. There are also connection keyword macros. Since the remote computer may not be aware of whether the server is running 64 bit or 32 bit Python (which require different ADO "Providers") the remote may send a macro to the server, allowing the server to choose the correct one. There are also connection keywords for PARAMSTYLE, AUTOCOMMIT, and TIMEOUT, which allow you to override those defaults at connection time. There is a new method for the connection object: .get_table_names() which returns a list of all the table names in your database. This works pretty much everywhere, and will even list the worksheets in a remote Excel spreadsheet. The beta will be available in a source zip file from https://sourceforge.net/projects/adodbapi/files/adodbapi/2.5.0/ A rough draft of documentation is supplied as an .odt file. Please, several people try this and look it over. If all goes well, in a few weeks it will be part of django-mssql.
_______________________________________________ Ironpython-users mailing list [email protected] http://mail.python.org/mailman/listinfo/ironpython-users
