Author: phd
Date: 2009-09-14 10:07:38 -0600 (Mon, 14 Sep 2009)
New Revision: 3977
Modified:
SQLObject/trunk/docs/News.txt
SQLObject/trunk/docs/SQLObject.txt
SQLObject/trunk/sqlobject/mssql/mssqlconnection.py
Log:
The user can choose a DB API driver for MSSQL by using a "backend" parameter in
DB URI or MSSQLConnection. Possible backends are: "adodb" (alias "adodbapi")
and "pymssql". Default is to test adodbapi and pymssql in that order.
Modified: SQLObject/trunk/docs/News.txt
===================================================================
--- SQLObject/trunk/docs/News.txt 2009-09-09 19:54:43 UTC (rev 3976)
+++ SQLObject/trunk/docs/News.txt 2009-09-14 16:07:38 UTC (rev 3977)
@@ -28,6 +28,11 @@
WARNING: API change! PostgresConnection's parameter "usePygresql" is now
replaced with "backend=pygresql".
+* The user can choose a DB API driver for MSSQL by using a "backend"
+ parameter in DB URI or MSSQLConnection. Possible backends are: "adodb"
+ (alias "adodbapi") and "pymssql". Default is to test adodbapi and pymssql
+ in that order.
+
* alternateMethodName is defined for all unique fields, not only alternateID;
this makes SQLObject create .by*() methods for all unique fields.
Modified: SQLObject/trunk/docs/SQLObject.txt
===================================================================
--- SQLObject/trunk/docs/SQLObject.txt 2009-09-09 19:54:43 UTC (rev 3976)
+++ SQLObject/trunk/docs/SQLObject.txt 2009-09-14 16:07:38 UTC (rev 3977)
@@ -1845,6 +1845,11 @@
.. _pymssql: http://pymssql.sourceforge.net/
.. _adodbapi: http://adodbapi.sourceforge.net/
+The user can choose a DB API driver for MSSQL by using a "backend"
+parameter in DB URI or MSSQLConnection. Possible backends are: "adodb"
+(alias "adodbapi") and "pymssql". Default is to test adodbapi and pymssql
+in that order.
+
Events (signals)
================
Modified: SQLObject/trunk/sqlobject/mssql/mssqlconnection.py
===================================================================
--- SQLObject/trunk/sqlobject/mssql/mssqlconnection.py 2009-09-09 19:54:43 UTC (rev 3976)
+++ SQLObject/trunk/sqlobject/mssql/mssqlconnection.py 2009-09-14 16:07:38 UTC (rev 3977)
@@ -10,10 +10,19 @@
def __init__(self, db, user, password='', host='localhost',
autoCommit=0, **kw):
- try:
+ backend = kw.pop('backend', None)
+ if backend is None:
+ try:
+ import adodbapi as sqlmodule
+ except ImportError:
+ import pymssql as sqlmodule
+ elif backend in ('adodb', 'adodbapi'):
import adodbapi as sqlmodule
- except ImportError:
+ elif backend == 'pymssql ':
import pymssql as sqlmodule
+ else:
+ raise ValueError('Unknown MSSQL backend "%s", expected adodb or pymssql' % backend)
+ self.module = sqlmodule
if sqlmodule.__name__ == 'adodbapi':
self.dbconnection = sqlmodule.connect
@@ -54,7 +63,6 @@
self.password = password
self.limit_re = re.compile('^\s*(select )(.*)', re.IGNORECASE)
self.password = password
- self.module = sqlmodule
self._can_use_max_types = None
DBAPI.__init__(self, **kw)
|