Simply connecting to a database does not tell web2py what tables are in the 
database. You have to explicitly define the tables by using the DAL 
define_table method. So, you code should be:
 
db=DAL('mysql://varun:VaruN@192.168.0.240:3306/test')  # note, you should 
use DAL(), not SQLDB().
db.define_table('person', <the rest of your table definition>)
# Also, define any additional tables you want to access via the DAL.
 
Note, db.tables does not extract the names of the actual tables in the db 
connection -- it simply lists the names of the DAL Table objects that have 
been defined via define_table().
 
Anthony

On Friday, May 6, 2011 3:49:54 AM UTC-4, vrathore wrote:

> Hello There, 
>
> I am connecting to my existing Mysql DB, i am able to connect, but i 
> am getting tables empty. 
> Here is the Sample Code 
> db=SQLDB('mysql://varun:VaruN@192.168.0.240:3306/test') 
> print db 
> print "gettables" ,db.tables 
>
> I get the following respose on the console 
> database  <DAL {'_migrate_enabled': True, '_lastsql': "SET 
> sql_mode='NO_BACKSLAS 
> H_ESCAPES';", '_db_codec': 'UTF-8', '_timings': [('SET 
> FOREIGN_KEY_CHECKS=1;', 0 
> .0), ("SET sql_mode='NO_BACKSLASH_ESCAPES';", 0.0)], '_fake_migrate': 
> False, '_d 
> bname': 'mysql', '_adapter': <gluon.dal.MySQLAdapter object at 
> 0x01976670>, 'che 
> ck_reserved': None, '_uri': 'mysql://varun:VaruN@192.168.0.240:3306/ 
> test_ytk', ' 
> tables': [], '_fake_migrate_enabled': False, '_migrate': True, 
> '_pool_size': 0}> 
>
> "gettables"[] 
>
> On the Ticket Response on admin i see this error 
> Traceback (most recent call last): 
>   File "gluon/restricted.py", line 181, in restricted 
>   File "E:/Projects/Web2Pye/web2py_win/web2py/applications/TSearch/ 
> models/db.py", line 5, in <module> 
>   File "gluon/dal.py", line 4042, in __getitem__ 
> KeyError: 'person' 
>

Reply via email to