Подтвердить что ты не робот

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

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

4b9b3361

Ответ 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/