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.

Reply via email to