У меня есть набор файлов HTML и база данных SQLite, с которой я хотел бы получить доступ из браузера, используя схему file://. Возможно ли получить доступ к базе данных и создать запросы (и таблицы) с помощью JavaScript?
Возможно ли получить доступ к базе данных SQLite из JavaScript?
Ответ 1
На самом деле ответ - да. Вот пример того, как вы можете это сделать: http://html5doctor.com/introducing-web-sql-databases/
Плохо то, что он с очень ограниченной поддержкой браузеров.
Дополнительная информация здесь HTML5 IndexedDB, веб-база данных SQL и браузеры
PS: Как сказал @Christoph Веб-SQL больше не находится в активном обслуживании, и Рабочая группа веб-приложений не намерена поддерживать его так что смотрите здесь https://developer.mozilla.org/en-US/docs/IndexedDB.
ИЗМЕНИТЬ
Как сказал @clentfort, вы можете получить доступ к базе данных SQLite с клиентским JavaScript с помощью SQL.js.
Ответ 2
Вы можете использовать SQL.js, который является компилятором SQLlite lib, скомпилированным для JavaScript и хранящим базу данных в локальном хранилище, представленном в HTML5.
Ответ 3
Актуальный ответ
Теперь моя версия sql.js была объединена с исходной версией на kriken repo.
хорошая документация также доступна на исходном репо.
Оригинальный ответ (устаревший)
Вы должны использовать более новую версию sql.js. Это порт sqlite 3.8, имеет хорошую документацию и активно поддерживается (мной). Он поддерживает подготовленные операторы и тип данных BLOB.
Ответ 4
IMHO, лучший способ - вызвать Python с помощью POST через AJAX и сделать все, что вам нужно сделать с БД в Python, а затем вернуть результат в javascript. Поддержка json и sqlite в Python является потрясающей, и она на 100% встроена даже в несколько недавних версиях Python, поэтому нет "установить это, установить эту" боль. В Python:
import sqlite3
import json
... это все, что вам нужно. Это часть каждого дистрибутива Python.
@Седрик Джефферсон попросил примеры, поэтому (несколько сдержанно) я написал автономную обратную связь между Javascript и Python .
Ответ 5
Одной из наиболее интересных функций в HTML5
является возможность локального хранения данных и разрешения запуска приложения в автономном режиме. Существует три разных API, которые работают с этими функциями, и выбор одного зависит от того, что именно вы хотите делать с данными, которые вы планируете хранить локально:
- Веб-хранилище: для базового локального хранилища с парами ключ/значение.
- Автономное хранилище: использует манифест для кэширования целых файлов для автономной работы использовать
- Веб-база данных: для хранилища реляционных баз данных
Подробнее см. Знакомство с API-интерфейсами хранения HTML5
И как использовать
http://cookbooks.adobe.com/post_Store_data_in_the_HTML5_SQLite_database-19115.html
Ответ 6
Как насчет использования чего-то вроде PouchDB? http://pouchdb.com/