[Ironpython-users] adodbapi v2.5 beta testers needed. (Especally IronPython on Linux users)
Vernon D. Cole
vernondcole at gmail.com
Mon Apr 29 00:07:05 CEST 2013
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.
!!! 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
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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Ironpython-users