Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   Database objects? Persistence? Sql Server woes (http://www.velocityreviews.com/forums/t525739-database-objects-persistence-sql-server-woes.html)

Mike Howarth 07-30-2007 04:49 PM

Database objects? Persistence? Sql Server woes
 

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?

--
View this message in context: http://www.nabble.com/Database-objec...html#a11866779
Sent from the Python - python-list mailing list archive at Nabble.com.


Diez B. Roggisch 07-30-2007 05:35 PM

Re: Database objects? Persistence? Sql Server woes
 
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/Coo.../Recipe/302088

Store a connection per thread.

Diez


All times are GMT. The time now is 05:21 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.