I found a bug. In gluon/sql.py
replace
elif is_jdbc and self._uri.startswith('sqlite://'):
self._dbname='sqlite'
if uri[9] != '/':
dbpath = os.path.join(self._folder, uri[14:])
else:
dbpath = uri[14:]
with
elif is_jdbc and self._uri.startswith('sqlite://'):
self._dbname='sqlite'
if uri[9] != '/':
dbpath = os.path.join(self._folder, uri[9:])
else:
dbpath = uri[9:]
Does this fix anything?
On Nov 28, 12:40 am, pierreth <[email protected]> wrote:
> On Nov 28, 12:48 am, mdipierro <[email protected]> wrote:
>
> > In gluon/sql.py there are these lines:
>
> > try:
> > from com.ziclix.python.sql import zxJDBC
> > import java.sql
> > from org.sqlite import JDBC
> > drivers.append('zxJDBC')
> > logger.warning('zxJDBC support is experimental')
> > is_jdbc = True
> > except:
> > logger.debug('no zxJDBC driver')
> > is_jdbc = False
>
> > somehow the exception is raised.
>
> I see the message 'zxJDBC support is experimental' printed at the
> console.
>
> I don't know why but now I have a different error:
>
> Traceback (most recent call last):
> File "/media/pierreth-backup/work/web2py/gluon/main.py", line 425,
> in wsgibase
> serve_controller(request, response, session)
> File "/media/pierreth-backup/work/web2py/gluon/main.py", line 425,
> in wsgibase
> serve_controller(request, response, session)
> File "/media/pierreth-backup/work/web2py/gluon/main.py", line 187,
> in serve_controller
> run_models_in(environment)
> File "/media/pierreth-backup/work/web2py/gluon/compileapp.py", line
> 351, in run_models_in
> restricted(code, environment, layer)
> File "/media/pierreth-backup/work/web2py/gluon/restricted.py", line
> 188, in restricted
> exec ccode in environment
> File "/media/pierreth-backup/work/web2py/gluon/restricted.py", line
> 188, in restricted
> exec ccode in environment
> File "/media/pierreth-backup/work/web2py/applications/welcome/models/
> db.py", line 15, in <module>
> db = DAL('sqlite://storage.sqlite') # if not, use SQLite or
> other DB
> File "/media/pierreth-backup/work/web2py/gluon/sql.py", line 4064,
> in DAL
> return SQLDB(uri, pool_size=pool_size, folder=folder,
> File "/media/pierreth-backup/work/web2py/gluon/sql.py", line 4064,
> in DAL
> return SQLDB(uri, pool_size=pool_size, folder=folder,
> File "/media/pierreth-backup/work/web2py/gluon/sql.py", line 1211,
> in __init__
> self._pool_connection(lambda dbpath=dbpath:
> zxJDBC.connect(java.sql.DriverManager.getConnection('jdbc:sqlite:'+dbpath)))
> File "/media/pierreth-backup/work/web2py/gluon/sql.py", line 893, in
> _pool_connection
> self._connection = f()
> File "/media/pierreth-backup/work/web2py/gluon/sql.py", line 1211,
> in <lambda>
> self._pool_connection(lambda dbpath=dbpath:
> zxJDBC.connect(java.sql.DriverManager.getConnection('jdbc:sqlite:'+dbpath)))
> SQLException: java.sql.SQLException: No suitable driver found for
> jdbc:sqlite:/media/pierreth-backup/work/web2py/applications/welcome/
> databases/ge.sqlite
>
> The file '/media/pierreth-backup/work/web2py/applications/welcome/
> databases/ge.sqlite' does not exists in the directory.