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?
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.
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.
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:
- Web de stockage: local De base de stockage avec des paires clé/valeur
- stockage hors ligne: utilise un manifeste pour mettre en cache des fichiers entiers pour Offline use
- 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
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.
et si on utilisait quelque chose comme PouchDB? http://pouchdb.com/