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, que je voudrais accéder à partir du navigateur, en utilisant le fichier:// scheme. Est-il possible d'accéder à la base de données et de créer des requêtes (et des tables) en utilisant JavaScript?

67
demandé sur dakab 2012-11-02 13:36:12

6 réponses

en fait, la réponse est oui. Voici un exemple de ce que vous pouvez faire: http://html5doctor.com/introducing-web-sql-databases/

la mauvaise chose est que c'est avec le soutien très limité par les navigateurs.

plus d'informations ici HTML5 IndexedDB, Web SQL Database and browser wars

PS: comme @Christoph a dit Web SQL n'est plus en maintenance active et les Applications Web du Groupe de Travail n'a pas l'intention de la continuer plus loin regardez donc ici https://developer.mozilla.org/en-US/docs/IndexedDB .


modifier

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

33
répondu Minko Gechev 2017-05-23 11:55:06

vous pouvez utiliser SQL.js qui est le SQLlite lib compilé pour JavaScript et stocker la base de données dans le stockage local introduit dans HTML5.

28
répondu clentfort 2012-11-02 09:52:00

Jusqu'à la date de réponse

ma fourchette de sql.js a maintenant été fusionné dans la version originale, sur kriken repo .

Le bonne documentation est également disponible sur le repo original.

réponse originale (périmée)

vous devez utiliser la nouvelle version de sql.js . C'est un port de sqlite 3.8, a un bonne documentation et est activement maintenu (par moi). Il supporte les déclarations préparées, et le type de données de BLOB.

18
répondu lovasoa 2015-01-11 11:27:14

L'une des caractéristiques les plus intéressantes de HTML5 est la possibilité de stocker des 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 d'une dépend de ce que vous voulez faire exactement avec les données que vous prévoyez de stocker localement:

  1. Web de stockage: local De base de stockage avec des paires clé/valeur
  2. stockage hors ligne: utilise un manifeste pour mettre en cache des fichiers entiers pour Offline use
  3. base de données Web: Pour le stockage de base de données relationnelle

Pour plus d'informations, voir l'Introduction de l'HTML5 Api de stockage

et comment utiliser

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

4
répondu Talha 2012-11-02 10:50:06

IMHO, la meilleure façon est d'appeler Python en utilisant POST via AJAX et de faire tout ce que vous devez faire avec le DB dans Python, puis retourner le résultat au javascript. le support JSON et sqlite en Python est génial et c'est 100% intégré dans les versions même légèrement récentes de Python, donc il n'y a pas de "install this, install that" pain. En Python:

import sqlite3
import json

...c'est tout ce dont vous avez besoin. Ça fait partie de chaque distribution Python.

@Sedrick Jefferson a demandé des exemples, donc (assez tardivement) j'ai écrit un entre Javascript et Python ici.

4
répondu fyngyrz 2016-09-19 18:04:56

et si on utilisait quelque chose comme PouchDB? http://pouchdb.com/

2
répondu theamoeba 2014-06-02 16:47:10