Можно ли получить доступ к базе данных SQLite из JavaScript?
У меня есть набор HTML-файлов и база данных SQLite, к которой я хотел бы получить доступ из браузера, используя файл:// scheme. Можно ли получить доступ к базе данных и создавать запросы (и таблиц) с помощью JavaScript?
6 ответов:
на самом деле ответ-да. Вот пример, как вы можете это сделать:http://html5doctor.com/introducing-web-sql-databases/
плохо то, что это с очень ограниченной поддержкой браузеров.
более подробная информация здесь HTML5 IndexedDB, веб-база данных SQL и браузерные войны
PS: Как сказал @Christoph Web SQL больше не находится в активном обслуживании, и рабочая группа по веб-приложениям не намерена поддерживайте его дальше Так смотри сюда https://developer.mozilla.org/en-US/docs/IndexedDB.
EDIT
как сказал @clentfort, вы можете получить доступ к базе данных SQLite с помощью клиентского JavaScript с помощью SQL.js.
вы могли бы использовать SQL.js который представляет собой sqllite lib, скомпилированный в JavaScript и хранящий базу данных в локальном хранилище, представленном в HTML5.
актуальный ответ
моя вилка sql.js теперь будет объединен в оригинальная версия, на репо крикена.
The хорошая документация также доступна в исходном РЕПО.
оригинальный ответ (устаревшее)
вы должны использовать новая версия sql.js. Это порт sqlite 3.8, имеет хорошая документация и активно поддерживается (по мне). Он поддерживает подготовленные операторы и тип данных BLOB.
одна из самых интересных особенностей в
HTML5
- это возможность хранить данные локально и разрешить приложению работать в автономном режиме. Есть три различных API, которые имеют дело с этими функциями, и выбор одного зависит от того, что именно вы хотите сделать с данными, которые вы планируете хранить локально:
- веб-хранилище: для базового локального хранилища с парами ключ / значение
- автономное хранилище: использует манифест для кэширования целых файлов в автономном режиме используйте
- Web база данных: для хранения реляционных баз данных
для получения дополнительной информации см. введение в HTML5 API для хранения данных
и как использовать
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 попросил примеры, так что (несколько запоздало) я написал автономный назад и вперед между Javascript и Python здесь.
Как насчет использования чего-то вроде PouchDB? http://pouchdb.com/