116 votes

Est-il possible d'accéder à une base de données SQLite à partir de JavaScript ?

J'ai un ensemble de fichiers HTML et une base de données SQLite, auxquels je voudrais accéder à partir du navigateur, en utilisant le schéma file://. Est-il possible d'accéder à la base de données et de créer des requêtes (et des tables) en utilisant JavaScript ?

51voto

Minko Gechev Points 11295

En fait, la réponse est oui. Voici un exemple de la façon dont vous pouvez le faire : http://html5doctor.com/introducing-web-sql-databases/

Le problème, c'est qu'il est très peu pris en charge par les navigateurs.

Plus d'informations ici HTML5 IndexedDB, Web SQL Database et guerres des navigateurs

PS : Comme l'a dit @Christoph Web SQL ne fait plus l'objet d'une maintenance active et le groupe de travail sur les applications Web n'a pas l'intention de continuer à le maintenir. alors regardez ici https://developer.mozilla.org/en-US/docs/IndexedDB .

SQL.js

EDITAR

Comme l'a dit @clentfort, vous pouvez accéder à la base de données SQLite avec le JavaScript côté client en utilisant SQL.js .

45voto

clentfort Points 1153

Vous pourriez utiliser SQL.js qui est la librairie SQLlite compilée en JavaScript et stocke la base de données dans le stockage local introduit dans HTML5.

21voto

lovasoa Points 189

Réponse actualisée

Mon fork de sql.js a maintenant été fusionné dans la version originale, sur un repo dédié .

El bonne documentation est également disponible sur le dépôt original.

Réponse originale (périmée)

Vous devez utiliser le une nouvelle version de sql.js . Il s'agit d'un portage de sqlite 3.8. bonne documentation et est activement maintenu (par moi). Il supporte les instructions préparées, et le type de données BLOB.

5voto

Talha Points 7596

L'une des caractéristiques les plus intéressantes de la HTML5 est la possibilité de stocker les données localement et de permettre à l'application de fonctionner hors ligne. Il existe trois API différentes qui traitent de ces fonctionnalités et le choix de l'une d'entre elles dépend de ce que vous voulez faire exactement avec les données que vous envisagez de stocker localement :

  1. Stockage Web : Pour un stockage local de base avec des paires clé/valeur
  2. Stockage hors ligne : Utilise un manifeste pour mettre en cache des fichiers entiers pour une utilisation hors ligne. utilisation
  3. Base de données Web : Pour le stockage de bases de données relationnelles

Pour plus de références, voir Présentation des API de stockage HTML5

Et comment utiliser

http://cookbooks.adobe.com/post_Store_data_in_the_HTML5_SQLite_database-19115.html

2voto

theamoeba Points 315

Pourquoi ne pas utiliser quelque chose comme PouchDB ? http://pouchdb.com/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X