Sobre dos bases de datos

26 views
Skip to first unread message

Lino H. Rodríguez Acosta

unread,
Apr 21, 2014, 12:24:59 PM4/21/14
to web2py-...@googlegroups.com
Aqui  estan las dos conexiones:

db = DAL('sqlite://storage.sqlite')
db2=DAL('sqlite:///home/linor/web2py/applications/qrz/databases/storage.sqlite',migrate_enabled=False)

La definición de la tabla

db2.define_table('qrz_cu', Field(),migrate=False)  

La consulta es la siguiente:

 ra2=db(db.qso.indicativo==db2.qrz_cu.indicativo).select(db.qso.indicativo,db2.qrz_cu.provincia)

El error es:
Traceback (most recent call last):
File "/home/linor/web2py/gluon/restricted.py", line 212, in restricted
exec ccode in environment
File "/home/linor/web2py/applications/Guardia/controllers/default.py", line 236, in <module>
File "/home/linor/web2py/gluon/globals.py", line 194, in <lambda>
self._caller = lambda f: f()
File "/home/linor/web2py/applications/Guardia/controllers/default.py", line 210, in lista_provincia
ra2=db(db.qso.indicativo==db2.qrz_cu.indicativo).select(db.qso.indicativo)
File "/home/linor/web2py/gluon/dal.py", line 9860, in select
return adapter.select(self.query,fields,attributes)
File "/home/linor/web2py/gluon/dal.py", line 2232, in select
return super(SQLiteAdapter, self).select(query, fields, attributes)
File "/home/linor/web2py/gluon/dal.py", line 1677, in select
sql = self._select(query, fields, attributes)
File "/home/linor/web2py/gluon/dal.py", line 1586, in _select
query = self.common_filter(query,tablenames_for_common_filters)
File "/home/linor/web2py/gluon/dal.py", line 2112, in common_filter
table = self.db[tablename]
File "/home/linor/web2py/gluon/dal.py", line 7830, in __getitem__
return self.__getattr__(str(key))
File "/home/linor/web2py/gluon/dal.py", line 7837, in __getattr__
return ogetattr(self, key)
AttributeError: 'DAL' object has no attribute 'qrz_cu'

Pudieran responder a co...@frcuba.co.cu

Gracias

Offray Vladimir Luna Cárdenas

unread,
Apr 21, 2014, 12:51:26 PM4/21/14
to web2py-...@googlegroups.com
Hola,

Como dijo Marco en otro correo, debes reemplazar db por db2. Sería algo
como:

ra2=db2(db.qso.indicativo==db2.qrz_cu.indicativo).select(db.qso.indicativo,db2.qrz_cu.provincia)

Nota que estás haciendo una selección sobre la base de datos db en lugar
de db2 cuando haces:

db(<criterios>).select()

y al parecer lo que quieres es hacer la selección sobre db2. Es decir

db2(<criterios>).select()

Espero que sirva.

Offray

On 21/04/14 11:24, Lino H. Rodríguez Acosta wrote:
> Aqui estan las dos conexiones:
>
> db = DAL('sqlite://storage.sqlite')
> db2=DAL('sqlite:///home/linor/web2py/applications/qrz/databases/storage.sqlite',migrate_enabled=False)
>
> La definición de la tabla
>
> db2.define_table('qrz_cu', Field(),migrate=False)
>
> La consulta es la siguiente:
>
> ra2=db(db.qso.indicativo==db2.qrz_cu.indicativo).select(db.qso.indicativo,db2.qrz_cu.provincia)
>
> El error es:
>
> Traceback(most recent call last):
> File"/home/linor/web2py/gluon/restricted.py",line212,inrestricted
> execccodeinenvironment
> File"/home/linor/web2py/applications/Guardia/controllers/default.py" <http://localhost:8000/admin/default/edit/Guardia/controllers/default.py>,line236,in<module>
> File"/home/linor/web2py/gluon/globals.py",line194,in<lambda>
> self._caller=lambdaf:f()
> File"/home/linor/web2py/applications/Guardia/controllers/default.py" <http://localhost:8000/admin/default/edit/Guardia/controllers/default.py>,line210,inlista_provincia
> ra2=db(db.qso.indicativo==db2.qrz_cu.indicativo).select(db.qso.indicativo)
> File"/home/linor/web2py/gluon/dal.py",line9860,inselect
> returnadapter.select(self.query,fields,attributes)
> File"/home/linor/web2py/gluon/dal.py",line2232,inselect
> returnsuper(SQLiteAdapter,self).select(query,fields,attributes)
> File"/home/linor/web2py/gluon/dal.py",line1677,inselect
> sql=self._select(query,fields,attributes)
> File"/home/linor/web2py/gluon/dal.py",line1586,in_select
> query=self.common_filter(query,tablenames_for_common_filters)
> File"/home/linor/web2py/gluon/dal.py",line2112,incommon_filter
> table=self.db[tablename]
> File"/home/linor/web2py/gluon/dal.py",line7830,in__getitem__
> return self.__getattr__(str(key))
> File"/home/linor/web2py/gluon/dal.py",line7837,in__getattr__
> returnogetattr(self,key)
> AttributeError:'DAL'object has no attribute'qrz_cu'
>
> Pudieran responder a co...@frcuba.co.cu
>
> Gracias
>
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "web2py-usuarios" de
> Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía
> un correo electrónico a web2py-usuari...@googlegroups.com
> <mailto:web2py-usuari...@googlegroups.com>.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>

samuel bonill

unread,
Apr 21, 2014, 1:50:53 PM4/21/14
to web2py-...@googlegroups.com
try:

ra2=db(db.qso.indicativo==db2.qrz_cu.indicativo).select(db.qso.indicativo)



Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito al grupo "web2py-usuarios" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a web2py-usuarios+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages