ฉันมีชุดไฟล์ HTML และฐานข้อมูล SQLite ซึ่งฉันต้องการเข้าถึงจากเบราว์เซอร์โดยใช้ file: // schema สามารถเข้าถึงฐานข้อมูลและสร้างแบบสอบถาม (และตาราง) โดยใช้ JavaScript ได้หรือไม่?
ฉันมีชุดไฟล์ HTML และฐานข้อมูล SQLite ซึ่งฉันต้องการเข้าถึงจากเบราว์เซอร์โดยใช้ file: // schema สามารถเข้าถึงฐานข้อมูลและสร้างแบบสอบถาม (และตาราง) โดยใช้ JavaScript ได้หรือไม่?
คำตอบ:
ที่จริงคำตอบคือใช่ นี่คือตัวอย่างวิธีที่คุณสามารถทำได้: http://html5doctor.com/introducing-web-sql-databases/
สิ่งที่ไม่ดีก็คือเบราว์เซอร์รองรับอย่าง จำกัด
ข้อมูลเพิ่มเติมที่นี่HTML5 IndexedDB ฐานข้อมูล Web SQL และสงครามเบราว์เซอร์
PS: ในฐานะที่เป็น @Christoph กล่าวว่าSQL บนเว็บไม่ได้อยู่ในการบำรุงรักษาการใช้งานและการใช้งานเว็บคณะทำงานไม่ได้ตั้งใจที่จะรักษามันต่อไปเพื่อให้ดูที่นี่https://developer.mozilla.org/en-US/docs/IndexedDB
แก้ไข
ในฐานะที่เป็น @clentfort กล่าวว่าคุณสามารถเข้าถึงฐานข้อมูล SQLite กับ JavaScript ฝั่งไคลเอ็นต์โดยใช้SQL.js
คุณสามารถใช้SQL.jsซึ่งเป็น SQLlite lib ที่คอมไพล์เป็น JavaScript และจัดเก็บฐานข้อมูลในที่จัดเก็บในตัวเครื่องที่แนะนำใน HTML5
ส้อมของฉัน sql.js ได้ถูกรวมเข้าไปในรุ่นเดิมใน repo
เอกสารที่ดียังมีอยู่ใน repo เดิม
คุณควรใช้รุ่นที่ใหม่กว่า sql.js เป็นพอร์ตของ sqlite 3.8 มีเอกสารที่ดีและได้รับการดูแลอย่างแข็งขัน (โดยฉัน) สนับสนุนคำสั่งที่เตรียมไว้และชนิดข้อมูล BLOB
หนึ่งในคุณสมบัติที่น่าสนใจที่สุดHTML5
คือความสามารถในการจัดเก็บข้อมูลในเครื่องและเพื่อให้แอปพลิเคชันทำงานแบบออฟไลน์ มี API ที่แตกต่างกันสามแบบที่จัดการกับคุณลักษณะเหล่านี้และการเลือกหนึ่งขึ้นอยู่กับว่าคุณต้องการทำอะไรกับข้อมูลที่คุณวางแผนจะจัดเก็บในเครื่อง:
สำหรับข้อมูลอ้างอิงเพิ่มเติมโปรดดูการแนะนำ API พื้นที่เก็บข้อมูล HTML5
และวิธีการใช้
http://cookbooks.adobe.com/post_Store_data_in_the_HTML5_SQLite_database-19115.html
แล้วการใช้ PouchDB ล่ะ? http://pouchdb.com/
IMHO วิธีที่ดีที่สุดคือเรียก Python โดยใช้ POST ผ่าน AJAX และทำทุกอย่างที่คุณต้องทำกับ DB ภายใน Python จากนั้นส่งผลลัพธ์กลับไปที่ javascript การสนับสนุน json และ sqlite ใน Python นั้นยอดเยี่ยมและมีการติดตั้งในตัว 100% แม้กระทั่งเวอร์ชันล่าสุดของ Python ดังนั้นจึงไม่มี "ติดตั้งสิ่งนี้ติดตั้ง" ความเจ็บปวดนั้น ใน Python:
import sqlite3
import json
... นั่นคือทั้งหมดที่คุณต้องการ เป็นส่วนหนึ่งของการแจกแจง Python ทุกครั้ง
@Sedrick Jefferson ขอตัวอย่างดังนั้น (ค่อนข้างช้า) ฉันได้เขียนกลับไปกลับมาระหว่าง Javascript และ Python ที่นี่
python
) จึงไม่อยู่ในพื้นที่ (อย่างน้อยวันนี้เมื่อมันไม่ใช่เรื่องง่ายที่จะเรียกใช้ python จากเบราว์เซอร์)
file:
แบบแผนคุณหมายถึงบนคอมพิวเตอร์ที่เบราว์เซอร์ทำงานอยู่หรือไม่?