Hi all..

Iam starting to learn web2py.  I have been playing with DAL and was able to 
import a legacy MySQL DB tables.
I did it using the python's prompt and it was possible to do some queries 
to the tables of the legacy DB...the results of these queries were 
presented as python dictionary format, it was great !.

To continue playing with my legacy DB I decide to create a new app 
following the Web2py Browser interface so the first thing I did was to 
update the line refered to the DAL conexion in models db.py.
 
then when I run the app..appears the following error ticket.. any help will 
be appreciated..

Error ticket for "Pedidos" Ticket ID 

127.0.0.1.2015-06-03.17-26-28.b24801c4-a854-4de5-9d20-c360002ac66a
<type 'exceptions.RuntimeError'> Failure to connect, tried 5 times: 
Traceback (most recent call last): File 
"D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\base.py", 
line 437, in __init__ self._adapter = ADAPTERS[self._dbname](**kwargs) File 
"D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\adapters\base.py",
 
line 57, in __call__ obj = super(AdapterMeta, cls).__call__(*args, 
**kwargs) File 
"D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\adapters\mysql.py",
 
line 132, in __init__ if do_connect: self.reconnect() File 
"D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\connection.py", 
line 105, in reconnect self.connection = f() File 
"D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\adapters\mysql.py",
 
line 130, in connector return self.driver.connect(**driver_args) File 
"d:\python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect 
return Connection(*args, **kwargs) File 
"d:\python27\lib\site-packages\MySQLdb\connections.py", line 187, in 
__init__ super(Connection, self).__init__(*args, **kwargs2) 
OperationalError: *(1045, "Access denied for user 'root;malher'@'localhost' 
(using password: NO)") * Versión  web2py™ Version 
2.11.2-stable+timestamp.2015.05.30.16.33.24  Rastreo 

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.

Traceback (most recent call last):
  File "D:\Python27\Lib\site-packages\web2py\gluon\restricted.py", line 227, in 
restricted
    exec ccode in environment
  File "D:/Python27/Lib/site-packages/web2py/applications/Pedidos/models/db.py" 
<http://127.0.0.1:8000/admin/default/edit/Pedidos/models/db.py>, line 21, in 
<module>
    db = DAL('mysql://root;malher@localhost/lafe')
  File "D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\base.py", 
line 174, in __call__
    obj = super(MetaDAL, cls).__call__(*args, **kwargs)
  File "D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\base.py", 
line 459, in __init__
    raise RuntimeError("Failure to connect, tried %d times:\n%s" % (attempts, 
tb))
RuntimeError: Failure to connect, tried 5 times:
Traceback (most recent call last):
  File "D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\base.py", 
line 437, in __init__
    self._adapter = ADAPTERS[self._dbname](**kwargs)
  File 
"D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\adapters\base.py",
 line 57, in __call__
    obj = super(AdapterMeta, cls).__call__(*args, **kwargs)
  File 
"D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\adapters\mysql.py",
 line 132, in __init__
    if do_connect: self.reconnect()
  File 
"D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\connection.py", 
line 105, in reconnect
    self.connection = f()
  File 
"D:\Python27\Lib\site-packages\web2py\gluon\packages\dal\pydal\adapters\mysql.py",
 line 130, in connector
    return self.driver.connect(**driver_args)
  File "d:\python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "d:\python27\lib\site-packages\MySQLdb\connections.py", line 187, in 
__init__
    super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (1045, "Access denied for user 'root;malher'@'localhost' 
(using password: NO)")

In file: 
D:\Python27\Lib\site-packages\web2py\applications\Pedidos\models\db.py 

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.

# -*- coding: utf-8 -*-

#########################################################################
## This scaffolding model makes your app work on Google App Engine too
## File is released under public domain and you can use without limitations
#########################################################################

## if SSL/HTTPS is properly configured and you want all HTTP requests to
## be redirected to HTTPS, uncomment the line below:
# request.requires_https()

## app configuration made easy. Look inside private/appconfig.ini
from gluon.contrib.appconfig import AppConfig
## once in production, remove reload=True to gain full speed
myconf = AppConfig(reload=True)


if not request 
<http://127.0.0.1:8000/examples/global/vars/request>.env.web2py_runtime_gae:
    ## if NOT running on Google App Engine use SQLite or other DB
    ## db = DAL(myconf.take('db.uri'), pool_size=myconf.take('db.pool_size', 
cast=int), check_reserved=['all'])
    db = DAL 
<http://127.0.0.1:8000/examples/global/vars/DAL>('mysql://root;malher@localhost/lafe')
  <- this is the line I used and commented the above one.
else:
    ## connect to Google BigTable (optional 'google:datastore://namespace')
    db = DAL 
<http://127.0.0.1:8000/examples/global/vars/DAL>('google:datastore+ndb')
    ## store sessions and tickets there
    session 
<http://127.0.0.1:8000/examples/global/vars/session>.connect(request 
<http://127.0.0.1:8000/examples/global/vars/request>, response 
<http://127.0.0.1:8000/examples/global/vars/response>, db=db)
    ## or store session in Memcache, Redis, etc.
    ## from gluon.contrib.memdb import MEMDB
    ## from google.appengine.api.memcache import Client
    ## session.connect(request, response, db = MEMDB(Client()))

## by default give a view/generic.extension to all actions from localhost
## none otherwise. a pattern can be 'controller/function.extension'
response <http://127.0.0.1:8000/examples/global/vars/response>.generic_patterns 
= ['*'] if request 
<http://127.0.0.1:8000/examples/global/vars/request>.is_local else []
## choose a style for forms
response <http://127.0.0.1:8000/examples/global/vars/response>.formstyle = 
myconf.take('forms.formstyle')  # or 'bootstrap3_stacked' or 'bootstrap2' or 
other
response 
<http://127.0.0.1:8000/examples/global/vars/response>.form_label_separator = 
myconf.take('forms.separator')


## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'
## (optional) static assets folder versioning
# response.static_version = '0.0.0'
#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Service, PluginManager

auth = Auth(db)
service = Service()
plugins = PluginManager()

## create all tables needed by auth if not custom tables
## auth.define_tables(username=True, signature=True)
auth.define_tables(username=False, signature=False)
## configure email
mail = auth.settings.mailer
mail.settings.server = 'logging' if request 
<http://127.0.0.1:8000/examples/global/vars/request>.is_local else 
myconf.take('smtp.server')
mail.settings.sender = myconf.take('smtp.sender')
mail.settings.login = myconf.take('smtp.login')

## configure auth policy
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True

#########################################################################
## Define your tables below (or better in another model file) for example
##
## >>> db.define_table('mytable',Field('myfield','string'))
##
## Fields can be 'string','text','password','integer','double','boolean'
##       'date','time','datetime','blob','upload', 'reference TABLENAME'
## There is an implicit 'id integer autoincrement' field
## Consult manual for more options, validators, etc.
##
## More API examples for controllers:
##
## >>> db.mytable.insert(myfield='value')
## >>> rows=db(db.mytable.myfield=='value').select(db.mytable.ALL)
## >>> for row in rows: print row.id, row.myfield
#########################################################################

## after defining tables, uncomment below to enable auditing
# auth.enable_record_versioning(db)

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to