Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2009, 01:13
xayide
 
Fecha de Ingreso: febrero-2006
Mensajes: 174
Antigüedad: 18 años, 2 meses
Puntos: 0
Patrón singleton para acceso a base de datos

Hola!

Necesito acceder a dos bases de datos, pero sólo quiero que haya una conexión y un objeto. Por eso he pensado en el patrón singleton, porque quiero que todos accedan a la base de datos a través de un mismo objeto.

He estado buscando bastante al respecto, y la verdad es que no saca nada en claro, porque cada página que he buscado lo hace de una manera diferente.

Si alguien me puede decir cómo se hace un patrón singleton para acceder a la base de datos, le estaría muy agradecida.

Estoy intentando algo así:

Código:
class GestorBD(object):
    instance=None


    def __new__(cls, *args, **kargs):
        if cls.instance is None:
            cls.instance=object.__new__(cls, *args, **kargs)
            
        return cls.instance
    
    def conectar(self):
        self.conexion=psycopg.connect("host='xxx.xxx.xxx.xxx' port= 'xxx' dbname='xx' user= 'xx' password= 'xx'")
    
    def desconexion(self):
        self.conexion.close()
        
    def execute(self, consulta):
        self.cursor=self.conexion.cursor()
        self.cursor.execute(consulta)        
        registros=self.cursor.fetchall()
        return registros
    
    def modify(self, consulta):
        self.cursor=self.conexion.cursor()
        self.cursor.execute(consulta)  
    
    def commit(self):
        self.conexion.commit()
Muchas gracias y un saludo!