Database objects? Persistence? Sql Server woes
Diez B. Roggisch
deets at nospam.web.de
Mon Jul 30 13:35:10 EDT 2007
Mike Howarth schrieb:
> I've been having a few problems with connecting to SQL Server, initially I
> was using dblib however found some problems with returning text fields
> whereby all text fields were ignored and it bawked at multiline sql
> statements.
>
> Having found these major stumbling blocks I've started using pymssql which
> seems less flaky. One problem I've stumbled across is that I seem to reach
> my max connections on the database fairly easily (given how my script was
> written) and therefore have used the singleton pattern on my database
> object.
>
> Great problem solved, or so I thought.
>
> Using the following code I'm finding that the Set is now also being enforced
> as a singleton as well.
>
> class Set(Database,Product):
>
> def __init__(self, *args, **kw):
>
> Database.__init__(self)
> Product.__init__(self)
>
> def dosomething(self):
> cu = self.c.cursor()
>
> Having sat back and thought about it, its easy to understand why this is
> occurring given I'm indicating that Set belongs to Database and therefore
> this is a singleton as well.
>
> Being relatively new to Python I'm unsure on how to then go about using a
> database object between each class. Can anyone advise me on how they
> approach this, and whether there is a common approach to this?
You might consider using a ORM mapper, like SQLObject or SQLAlchemy. If
they support your backend, that is.
Apart from that, this might help:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/302088
Store a connection per thread.
Diez
More information about the Python-list
mailing list