93 lines
4.9 KiB
Text
93 lines
4.9 KiB
Text
|
Project
|
||
|
-------
|
||
|
adodbapi
|
||
|
|
||
|
A Python DB-API 2.0 (PEP-249) module that makes it easy to use Microsoft ADO
|
||
|
for connecting with databases and other data sources
|
||
|
using either CPython or IronPython.
|
||
|
|
||
|
Home page: <http://sourceforge.net/projects/adodbapi>
|
||
|
|
||
|
Features:
|
||
|
* 100% DB-API 2.0 (PEP-249) compliant (including most extensions and recommendations).
|
||
|
* Includes pyunit testcases that describe how to use the module.
|
||
|
* Fully implemented in Python. -- runs in Python 2.5+ Python 3.0+ and IronPython 2.6+
|
||
|
* Licensed under the LGPL license, which means that it can be used freely even in commercial programs subject to certain restrictions.
|
||
|
* The user can choose between paramstyles: 'qmark' 'named' 'format' 'pyformat' 'dynamic'
|
||
|
* Supports data retrieval by column name e.g.:
|
||
|
for row in myCurser.execute("select name,age from students"):
|
||
|
print("Student", row.name, "is", row.age, "years old.")
|
||
|
* Supports user-definable system-to-Python data conversion functions (selected by ADO data type, or by column)
|
||
|
|
||
|
Prerequisites:
|
||
|
* C Python 2.7 or 3.5 or higher
|
||
|
and pywin32 (Mark Hammond's python for windows extensions.)
|
||
|
or
|
||
|
Iron Python 2.7 or higher. (works in IPy2.0 for all data types except BUFFER)
|
||
|
|
||
|
Installation:
|
||
|
* (C-Python on Windows): Install pywin32 ("pip install pywin32") which includes adodbapi.
|
||
|
* (IronPython on Windows): Download adodbapi from http://sf.net/projects/adodbapi. Unpack the zip.
|
||
|
Open a command window as an administrator. CD to the folder containing the unzipped files.
|
||
|
Run "setup.py install" using the IronPython of your choice.
|
||
|
|
||
|
NOTE: ...........
|
||
|
If you do not like the new default operation of returning Numeric columns as decimal.Decimal,
|
||
|
you can select other options by the user defined conversion feature.
|
||
|
Try:
|
||
|
adodbapi.apibase.variantConversions[adodbapi.ado_consts.adNumeric] = adodbapi.apibase.cvtString
|
||
|
or:
|
||
|
adodbapi.apibase.variantConversions[adodbapi.ado_consts.adNumeric] = adodbapi.apibase.cvtFloat
|
||
|
or:
|
||
|
adodbapi.apibase.variantConversions[adodbapi.ado_consts.adNumeric] = write_your_own_convertion_function
|
||
|
............
|
||
|
notes for 2.6.2:
|
||
|
The definitive source has been moved to https://github.com/mhammond/pywin32/tree/master/adodbapi.
|
||
|
Remote has proven too hard to configure and test with Pyro4. I am moving it to unsupported status
|
||
|
until I can change to a different connection method.
|
||
|
whats new in version 2.6
|
||
|
A cursor.prepare() method and support for prepared SQL statements.
|
||
|
Lots of refactoring, especially of the Remote and Server modules (still to be treated as Beta code).
|
||
|
The quick start document 'quick_reference.odt' will export as a nice-looking pdf.
|
||
|
Added paramstyles 'pyformat' and 'dynamic'. If your 'paramstyle' is 'named' you _must_ pass a dictionary of
|
||
|
parameters to your .execute() method. If your 'paramstyle' is 'format' 'pyformat' or 'dynamic', you _may_
|
||
|
pass a dictionary of parameters -- provided your SQL operation string is formatted correctly.
|
||
|
|
||
|
whats new in version 2.5
|
||
|
Remote module: (works on Linux!) allows a Windows computer to serve ADO databases via PyRO
|
||
|
Server module: PyRO server for ADO. Run using a command like= C:>python -m adodbapi.server
|
||
|
(server has simple connection string macros: is64bit, getuser, sql_provider, auto_security)
|
||
|
Brief documentation included. See adodbapi/examples folder adodbapi.rtf
|
||
|
New connection method conn.get_table_names() --> list of names of tables in database
|
||
|
|
||
|
Vastly refactored. Data conversion things have been moved to the new adodbapi.apibase module.
|
||
|
Many former module-level attributes are now class attributes. (Should be more thread-safe)
|
||
|
Connection objects are now context managers for transactions and will commit or rollback.
|
||
|
Cursor objects are context managers and will automatically close themselves.
|
||
|
Autocommit can be switched on and off.
|
||
|
Keyword and positional arguments on the connect() method work as documented in PEP 249.
|
||
|
Keyword arguments from the connect call can be formatted into the connection string.
|
||
|
New keyword arguments defined, such as: autocommit, paramstyle, remote_proxy, remote_port.
|
||
|
*** Breaking change: variantConversion lookups are simplified: the following will raise KeyError:
|
||
|
oldconverter=adodbapi.variantConversions[adodbapi.adoStringTypes]
|
||
|
Refactor as: oldconverter=adodbapi.variantConversions[adodbapi.adoStringTypes[0]]
|
||
|
|
||
|
License
|
||
|
-------
|
||
|
LGPL, see http://www.opensource.org/licenses/lgpl-license.php
|
||
|
|
||
|
Documentation
|
||
|
-------------
|
||
|
|
||
|
Look at adodbapi/quick_reference.md
|
||
|
http://www.python.org/topics/database/DatabaseAPI-2.0.html
|
||
|
read the examples in adodbapi/examples
|
||
|
and look at the test cases in adodbapi/test directory.
|
||
|
|
||
|
Mailing lists
|
||
|
-------------
|
||
|
The adodbapi mailing lists have been deactivated. Submit comments to the
|
||
|
pywin32 or IronPython mailing lists.
|
||
|
-- the bug tracker on sourceforge.net/projects/adodbapi may be checked, (infrequently).
|
||
|
-- please use: https://github.com/mhammond/pywin32/issues
|