ACCESSING THE SAME DAL DATABASE FROM WEB2PY AND "STAND-ALONE" APP

34 views
Skip to first unread message

jim kaubisch

unread,
Aug 4, 2017, 5:05:54 PM8/4/17
to web2py-users

Hi,


I am trying to access the same mysql database in a web2py app (which created it) AND from a “stand-alone” python app (which primarily extracts information from it). 


I can access the the db from the web_2py app but access from the stand-alone fails with “RuntimeError: 'Failure to connect, tried 5 times…” 


Both apps are running on the same (macOS Sierra) system


What am I doing wrong?


Note below, the database definition is in file “mfm_media_model.py”


###

IN THE WEB2PY APP

###


>>> in appconfig.ini:


    ; db configuration

    [db]

    uri       = mysql://root:password@localhost/mfm_curr_lib 

    migrate   = true

    pool_size = 10 ; ignored for sqlite


>>> in db.py:


    db = DAL(myconf.get('db.uri'),

             pool_size=myconf.get('db.pool_size'),

             migrate_enabled=myconf.get('db.migrate'),

             lazy_tables=True,

             check_reserved=['all'])


!!! All works well !!!


####

IN THE STAND-ALONE APP:

####


>>> in mfm_media_model.py:


     from pydal import DAL, Field


     either

       db = DAL('mysql://root:password@localhost/mfm_curr_lib', pool_size = 10)

     or

       db = DAL('mysql://root:password@localhost:3306/mfm_curr_lib', pool_size = 10)


     … produces 


RuntimeError: 'Failure to connect, tried 5 times:\nTraceback (most recent call last):\n File "/Library/Python/2.7/site-packages/pydal/base.py", line 455, in __init__\n self._adapter = adapter(**kwargs)\n File "/Library/Python/2.7/site-packages/pydal/adapters/__init__.py", line 40, in __call__\n obj = super(AdapterMeta, cls).__call__(*args, **kwargs)\n File "/Library/Python/2.7/site-packages/pydal/adapters/base.py", line 373, in __init__\n super(SQLAdapter, self).__init__(*args, **kwargs)\n File "/Library/Python/2.7/site-packages/pydal/adapters/base.py", line 50, in __init__\n self.find_driver()\n File "/Library/Python/2.7/site-packages/pydal/adapters/base.py", line 101, in find_driver\n str(self.drivers))\nRuntimeError: No driver of supported ones (\'MySQLdb\', \'pymysql\', \'mysqlconnector\') is available\n'

module body in mfm_media_model.py at line 63

db = DAL('mysql://root:M4Msings@localhost:3306/mfm_curr_lib/', pool_size = 10)

function __call__ in base.py at line 170

obj = super(MetaDAL, cls).__call__(*args, **kwargs)

function __init__ in base.py at line 475

"Failure to connect, tried %d times:\n%s" % (attempts, tb)


Reply all
Reply to author
Forward
0 new messages