problemas sqlite y modpython

Cesar Cardenas Desales cescd en yahoo.com.mx
Mar Nov 1 19:13:26 CET 2005


Según lo que se ve:

> DatabaseError: unable to open database file

Parece ser que 

a) No encuentra el archivo
b) Sí lo encuentra pero el usuario apache (o el
usuario con que estás ejecutando httpd) no tiene
permisos para escribir en ese archivo


Podrías verificar de cual de las 2 opciones se trata

1) Ejecuta de manera local el programa. Si inserta
datos, es que es asunto de permisos

2) Ejecuta un SELECT a través de apache. Si obtienes
datos, quiere decir que sí encuentra el archivo, y que
tiene permisos de lectura, pero no de escritura



 --- zako <ezako en yahoo.es> escribió:

> 
>  --- Cesar Cardenas Desales <cescd en yahoo.com.mx>
> escribió:
> 
> > Aunque no estoy seguro, podría ser que a la
> > instrucción BEGIN que mandas a ejecutar le esté
> > faltando un atributo (DEFERRED, IMMEDIATE,
> > EXCLUSIVE)
> > como los que se mencionan en la documentación:
> > 
> > 
> > sql-statement ::= 	BEGIN [ DEFERRED | IMMEDIATE |
> > EXCLUSIVE ] [TRANSACTION [name]]
> > sql-statement ::= 	END [TRANSACTION [name]]
> > sql-statement ::= 	COMMIT [TRANSACTION [name]]
> > sql-statement ::= 	ROLLBACK [TRANSACTION [name]]
> > 
> > http://www.sqlite.org/lang_transaction.html
> > 
> 
> En realidad el BEGIN forma parte de las llamadas
> internas de la libreria de Python de SQLite. Mi
> codigo
> Python es el siguiente:
> 
> con = sqlite.connect(DATABASE)
> cur = con.cursor()
> cur.execute('insert into signs (dni, name, first,
> second, email, password) values("%s", "%s", "%s",
> "%s", "%s", "%s");' % (dni, name, first, second,
> email, password))
> 
> Lo que he hecho ahora es realizar una modificacion
> en
> el connect con:
> 
> con = sqlite.connect(DATABASE, autocommit=1)
> 
> Pero sigo obteniendo un error que ha variado
> ligeramente:
> 
> Mod_python error: "PythonHandler
> mod_python.publisher"
> 
> Traceback (most recent call last):
> 
>   File
>
"/usr/lib/python2.3/site-packages/mod_python/apache.py",
> line 299, in HandlerDispatch
>     result = object(req)
> 
>   File
>
"/usr/lib/python2.3/site-packages/mod_python/publisher.py",
> line 136, in handler
>     result = util.apply_fs_data(object, req.form,
> req=req)
> 
>   File
>
"/usr/lib/python2.3/site-packages/mod_python/util.py",
> line 361, in apply_fs_data
>     return object(**args)
> 
>   File "/var/www/ITSAS/riot/riot.py", line 66, in
> presign
>     cur.execute('insert into signs (dni, name,
> first,
> second, email, password) values("%s", "%s", "%s",
> "%s", "%s", "%s");' % (dni, name, first, second,
> email, password))
> 
>   File
> "/usr/lib/python2.3/site-packages/sqlite/main.py",
> line 244, in execute
>     self.rs = self.con.db.execute(SQL)
> 
> DatabaseError: unable to open database file
> 
> Al final creo que no se trata de un error en el
> BEGIN.
> Debe haber algo que no veo.
> 
> zako
> 
> 
> 
> 
> 		
> ______________________________________________ 
> Renovamos el Correo Yahoo! 
> Nuevos servicios, más seguridad 
> http://correo.yahoo.es
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
> 



	
	
		
___________________________________________________________ 
Do You Yahoo!? 
La mejor conexión a Internet y <b >2GB</b> extra a tu correo por $100 al mes. http://net.yahoo.com.mx 




Más información sobre la lista de distribución Python-es