Forums : Template et RDF

Aller à la discussion :  Plus récente Plus ancienne

# [Résolu] Emplacement d'une base sqlite

Envoyé par : gehiks

Date : 15/11/2009 14:34

Bonjour,

A la lecture d'un fil précédent ( connection sqlite et emplacement de la base ), il m'apparaît que le meilleur endroit pour stocker une base de données sqlite est le profil de l'utilisateur. Or, je ne comprends pas où (physiquement) je dois placer cette base. J'aimerais donc savoir où je dois mettre ma base sqlite pour pouvoir y accéder de la manière suivante: <listbox datasources="profile:db" ref="*" querytype="storage">

Merci,

Gehiks

# Re: Emplacement d'une base sqlite

Envoyé par : thefab

Date : 15/11/2009 15:34

Tout est ici

# Re: Emplacement d'une base sqlite

Envoyé par : gehiks

Date : 15/11/2009 17:01

Merci :)

Néanmoins, je n'ai pas l'impression que ça fonctionne dans le cas des applis indépendantes: je n'arrive à obtenir aucun résultat. Dans le cas d'une application indépendante, où suis-je censé enregistrer ma base de données?

# Re: Emplacement d'une base sqlite

Envoyé par : obs

Date : 16/11/2009 17:15

Dans mon appli perso. Je crée la base de données au premier démarrage de l'application (avant l'event load) et je la crée dans le profil utilisateur car sinon en terme de template c'est plus galère.

# Re: Emplacement d'une base sqlite

Envoyé par : gehiks

Date : 16/11/2009 20:46

C'est tout à fait ce dont j'aurais besoin: créer la base de données au premier démarrage. C'est dans l'application que tu as mis en signature? Ça m'intéresse beaucoup.

Mais, pour revenir à l'emplacement, c'est quoi le chemin du profil utilisateur sur le disque ? /home/utilisateur/ ?

# Re: Emplacement d'une base sqlite

Envoyé par : obs

Date : 17/11/2009 16:14

Utilise les fichiers spéciaux, ProfD pour t'orienter. Utiliser ça te permettra d'être portable.

Effectivement l'appli crée la base si elle n'existe pas déjà regarde . Il faut que la fonction startup soit executée avant le onload. Sinon tes templates seront vides.

# Re: Emplacement d'une base sqlite

Envoyé par : thefab

Date : 17/11/2009 17:35

Mais, pour revenir à l'emplacement, c'est quoi le chemin du profil utilisateur sur le disque ? /home/utilisateur/ ?

Même chose pour une extension ou une application indépendante: même code, par contre le dossier physique ne sera pas le même pour 2 applications différentes!

# Re: Emplacement d'une base sqlite

Envoyé par : gehiks

Date : 17/11/2009 21:10

Ça fonctionne merci à tous pour votre aide et vos idées.

Je n'avais pas bien compris le code de la page posté par TheFab.

Gehiks

# Re: [Résolu] Emplacement d'une base sqlite

Envoyé par : thefab

Date : 20/11/2009 23:18

Je le détaille un peu plus:

Obtenir le dossier du profile utilisateur (différent pour chaque extension ou application)

var file = Components.classes["@mozilla.org/file/directory_service;1"]
  .getService(Components.interfaces.nsIProperties)
  .get("ProfD", Components.interfaces.nsIFile);

Ajouter le nom du fichier, avec append pour que se soit multi-plateforme

file.append("base-de-donnees.sqlite");

Obtenir le chemin complet du fichier situé dans le dossier du profile

alert(file.path);

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.