2010-02-03 2564 views

Respuesta

94

El código que da qué crear 'D:\\aaa.db' si no existe.

4

Bastante seguro .connect creará el archivo si no existe.

10

Si no se crea automáticamente, asegúrese de que tiene los permisos de directorio correctos

0

.Connect debe crear un nuevo archivo de base de datos sobre la marcha, existen dados subdirectorios, y usted tiene para conceder permiso adecuado.

+3

Si bien la respuesta es correcta, no agrega ningún valor: todo se ha dicho antes – cfi

2
import sqlite3 
conn=sqlite3.connect('xx.db') 
print "Database created and opened succesfully" 
5

Como ya se mencionó, su código debería funcionar si tiene permisos para escribir en esta ruta. Sin embargo, es importante que el directorio debe existir. Si usted hace llamado a que no existe la carpeta:

conn = sqlite3.connect(r"D:\Some new non-existing folder\aaa.db") 

No va a funcionar, tendrá

sqlite3.OperationalError: unable to open database file. 

Lo mismo es para las rutas relativas:

1) conn = sqlite3.connect(r"aaa.db") 
2) conn = sqlite3.connect(r"Some new folder\aaa.db") 

En primer lugar siempre funciona , porque está trabajando en el directorio ya existente y el segundo no funcionará si no crea la carpeta de antemano.

Cuestiones relacionadas