uhm. note that the uri is mysql://username:password@hostname/databasename
it seems that you put a ; instead of a : between user and password.

On Friday, June 5, 2015 at 6:26:00 AM UTC+2, Jose Galvan wrote:
>
>
> 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