2013-10-17 4 views
1

Ceci est probablement une question simple, mais je pourrais utiliser de l'aide. J'essaye de construire une petite base de données pour une application qui sera exécutée seulement sur mon ordinateur ainsi je veux créer une base de données locale.Choisir où sauvegarder la base de données sqlite

Pour ce faire, j'essaie d'utiliser sqlite. Je peux utiliser l'invite de commande pour créer ce qui semble être une base de données en utilisant sqlite3 databaseName; fonctionnalité, mais je ne sais pas où il est stocké.

Je dois pouvoir trouver la base de données pour y accéder via l'application avec laquelle j'expérimente. Je connais déjà tous les sql de base et autres pour créer les tables et les données de base de données, mais je n'arrive pas à comprendre comment faire simplement la connexion à la base de données.

est-il un moyen de spécifier où le fichier de base de données .db sera stocké, et pourquoi ne puis-je pas trouver le fichier qu'il semble faire?

+0

Le nom de fichier spécifié dans * connect * est l'emplacement où le fichier de base de données sera créé/stocké. Normalement (par exemple sans informations de chemin supplémentaires) ceci sera relatif au répertoire de travail courant qui est normalement approprié. Si vous souhaitez que le fichier de base de données soit créé ailleurs (comme dans Local Data, par exemple), spécifiez le chemin approprié (complet). Tous les répertoires pertinents doivent déjà exister. – user2864740

+0

Avoir le même problème. Aucun fichier n'est créé. Quelles commandes supplémentaires doivent être émises pour que le fichier soit réellement écrit sur le disque? –

+0

Quelques minutes plus tard ... était capable de le faire fonctionner en exécutant "sqlite3.exe" pour créer une base de données en mémoire, puis en tapant ".save mydb.db" à l'invite. C'était la seule façon d'obtenir le fichier sur disque. L'exécution de "sqlite3.exe mydb.db" a démarré sqlite, semblant créer la base de données, mais n'a pas écrit le fichier sur le disque. –

Répondre

0

Pour faire de telles choses, vous pouvez utiliser Sqlite Manager, vous l'aurez sous la forme d'un addon Firefox. C'est excellent dans la création/gestion de base de données Sqlite.

https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/

+0

Après une utilisation intensive des outils de gestion Sqlite, y compris ce qui précède, je suggère http://www.softpedia.com/get/Internet/Servers/Database-Utils/SQLiteStudio.shtml –

5

utilisant shell sqlite3? L'aide à l'aide sqlite3 -help:

Utilisation: sqlite3 [OPTIONS] FILENAME [SQL]

Si FILENAME n'est pas fourni, shell utilise une base de données temporaire.

Si vous commencez shell sans fournir un nom de fichier, vous pouvez sauvegarder la base de données temporaire à tout moment en utilisant:

sqlite> .backup MAIN "folder\your_file.extension" 

Ou vous pouvez ATTACH une base de données existante une utilisation des méthodes SQL:

sqlite> ATTACH DATABASE "path\stored.db" AS other; 
sqlite> INSERT OR REPLACE INTO other.table1 SELECT * FROM this_table1; 
sqlite> DETACH other; 
+0

Sans nom de fichier, vous n'obtenez pas de base de données en mémoire mais une base de données temporaire. –

+0

@CL Corrigé, merci! –

0

Merci tout le monde pour répondre, mais il s'avère que mon problème était beaucoup plus simple que je ne le pensais.

J'essayais de nommer la base de données après avoir déjà démarré le shell.

je devais créer la base de données de la ligne de commande en faisant sqlite3 name.db

Mais je tentais d'utiliser cette commande dans le shell sqlite donc rien a été créé.

Questions connexes