Можно ли получить доступ к базе данных SQLite из JavaScript?

У меня есть набор HTML-файлов и база данных SQLite, к которой я хотел бы получить доступ из браузера, используя схему file://. Можно ли получить доступ к базе данных и создавать запросы (и таблиц) с помощью JavaScript?

6 ответов


на самом деле ответ-да. Вот пример того, как вы можете это сделать:http://html5doctor.com/introducing-web-sql-databases/

плохо то, что он с очень ограниченной поддержкой браузеров.

подробнее здесь в HTML5 индексированные базы данных, базы данных Web SQL и войны браузеров

PS: Как сказал @Christoph Web SQL больше не находится в активном обслуживании, и рабочая группа по веб-приложениям не намерена поддерживайте его дальше так смотрите здесь https://developer.mozilla.org/en-US/docs/IndexedDB.


редактировать

как сказал @clentfort, вы можете получить доступ к базе данных SQLite с помощью клиентского JavaScript с помощью SQL.js.


можно использовать SQL.js который является sqllite lib, скомпилированным в JavaScript и хранящим базу данных в локальном хранилище, представленном в HTML5.


актуальный ответ

моя вилка sql.js теперь объединен в оригинальная версия, на репо крикена.

на хорошая документация также доступен в исходном РЕПО.

оригинальный ответ (устаревшее)

вы должны использовать новая версия sql.js. Это порт sqlite 3.8, имеет хорошая документация и активно поддерживается (по мне). Он поддерживает подготовленные операторы и тип данных BLOB.


одна из самых интересных особенностей в HTML5 - это возможность хранить данные локально и разрешить приложению работать в автономном режиме. Существует три различных API, которые имеют дело с этими функциями, и выбор одного зависит от того, что именно вы хотите сделать с данными, которые вы планируете хранить локально:

  1. веб-хранилище: для базового локального хранилища с парами ключ/значение
  2. автономное хранилище: использует манифест для кэширования целых файлов в автономном режиме использовать
  3. Web база данных: для хранения реляционных баз данных

для получения дополнительной информации см. представляем API хранения HTML5

и как использовать

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


IMHO, лучший способ-вызвать Python с помощью POST через AJAX и сделать все, что вам нужно сделать с БД в Python, а затем вернуть результат в javascript. поддержка json и sqlite в Python потрясающая, и она на 100% встроена в даже слегка последние версии Python, поэтому нет "установить это, установить это" боль. В Python:

import sqlite3
import json

...это все, что тебе нужно. Это часть каждого дистрибутива Python.

@Sedrick Jefferson попросил примеры, поэтому (несколько запоздало.) я написал:--6-->автономный туда и обратно между Javascript и Python здесь.


Как насчет использования чего-то вроде PouchDB? http://pouchdb.com/