জাভাস্ক্রিপ্ট থেকে কোনও এসকিউএল ডাটাবেস অ্যাক্সেস করা সম্ভব?


97

আমার কাছে এইচটিএমএল ফাইল এবং একটি এসকিউএল ডাটাবেস রয়েছে, যা আমি ফাইল: // স্কিম ব্যবহার করে ব্রাউজার থেকে অ্যাক্সেস করতে চাই। জাভাস্ক্রিপ্ট ব্যবহার করে কি ডাটাবেস অ্যাক্সেস করা এবং কোয়েরিগুলি (এবং সারণী) তৈরি করা সম্ভব?


4
file:স্কিম দ্বারা আপনি কি কম্পিউটারে ব্রাউজারটি চলমান বলতে চান?

4
হ্যাঁ. বর্তমানে আমার কাছে একটি সরঞ্জাম রয়েছে যা একটি প্রতিবেদন তৈরি করে (চিত্রগুলির একটি গুচ্ছ, এইচটিএমএল ফাইল এবং একটি স্ক্লাইট ডাটাবেস)। আমি স্থানীয়ভাবে এই প্রতিবেদনটি খুলতে পারি (উদাঃ $ গুগল-ক্রোম রিপোর্ট_আউট / সূচক html)। আমি এটি আরও ইন্টারেক্টিভ করতে চাই, তাই জাভাস্ক্রিপ্ট ডাটাবেস থেকে উত্পন্ন ডেটা পড়বে এবং এটি থেকে পরিসংখ্যান তৈরি করবে।
পাল সাজ্জাস

আমি বিশ্বাস করি যে ওয়েবসকেট প্রক্সিটির মাধ্যমে সংযোগ স্থাপন করা সম্ভব হবে তবে সেট আপ করতে বেশ খানিকটা সময় লাগবে
hanshenrik

উত্তর:


41

আসলে উত্তর হ্যাঁ। আপনি এখানে এটি কীভাবে করতে পারেন তার একটি উদাহরণ এখানে দেওয়া হয়েছে: http://html5doctor.com/introducing-web-sql-databases/

খারাপ জিনিসটি এটি ব্রাউজারগুলির দ্বারা খুব সীমিত সহায়তার সাথে।

এখানে আরও তথ্য HTML5 ইনডেক্সডডিবি, ওয়েব এসকিউএল ডেটাবেস এবং ব্রাউজার যুদ্ধসমূহ

পিএস: @ ক্রিসটফ যেমন বলেছিলেন যে ওয়েব এসকিউএল আর সক্রিয় রক্ষণাবেক্ষণে নেই এবং ওয়েব অ্যাপ্লিকেশন ওয়ার্কিং গ্রুপ এটিকে আরও বজায় রাখতে চায় না তাই এখানে https://developer.mozilla.org/en-US/docs/IndexedDB দেখুন

এসকিউএল.জেএস

সম্পাদনা

যেমনটি ক্লেন্টফোর্ট বলেছেন, আপনি এসকিউএল.জেএস ব্যবহার করে ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট সহ এসকিউএল ডাটাবেস অ্যাক্সেস করতে পারেন ।


15
এফওয়াইআই ওয়েবসাকেল পরিত্যাগ করা হয়েছে ... পরিবর্তে ইনডেক্সডডিবিকে প্রচার করুন।
ক্রিস্টোফ

4
তবে ইতিমধ্যে বিদ্যমান ডাটাবেসের সাথে কি সংযোগ স্থাপন সম্ভব? এর মধ্যে আমার কাছে ইতিমধ্যে প্রচুর ডেটা রয়েছে, যা আমি জাভাস্ক্রিপ্ট দিয়ে প্রক্রিয়া করতে চাই।
পাল সাজ্জাস

আপনি কিছু সার্ভার সাইড স্টাফ নিয়ে যেতে পারেন, বা এই কোডফেরজেক.কম
২০১৪ /

40

আপনি এসকিউএল.জেএস ব্যবহার করতে পারেন যা জাভাস্ক্রিপ্টের জন্য সংকলিত এসকিউএলাইট লিব এবং এইচটিএমএল 5 তে প্রবর্তিত স্থানীয় স্টোরেজে ডাটাবেস সংরক্ষণ করতে পারে।


9
স্থানীয় স্টোরেজটি খুব ধীর এবং আনাড়ি ... পরিবর্তে আপনার ইন্ডেক্সডডিবি ব্যবহার করা উচিত। যাইহোক এটি অনুমান করা একটি কার্যকরী সমাধান।
ক্রিস্টোফ

4
যদিও স্থানীয় স্টোরেজগুলি ইনডেক্সডডিবিয়ের মতো দুর্দান্ত নয়, তবে এটি সর্বত্র সমর্থিত। এসকিউএল.জেএস সরাসরি স্থানীয় স্টোরেজ ব্যবহার করে না (এটি স্মৃতিতে রয়েছে), সুতরাং আপনাকে কেবল স্টার্টআপ / শাটডাউনয়ের স্থানীয় স্টোরেজ থেকে / লিখতে হবে, এমনকি আপনি কোনও সার্ভারে এসকিউএল.জেএসের অবস্থা সংরক্ষণ করতে পারেন। ভাল যদি আপনি ব্যবহারকারীকে বিশেষভাবে পরিবর্তনগুলি সংরক্ষণ করতে চান, তবে খারাপ কোনও ব্যবহারকারী যদি সংরক্ষণ না করে ছেড়ে দেয় তবে জিনিসগুলি ভেঙে যেতে পারে bad
পার্কিনস

20

আপ টু ডেট উত্তর

আমার sql.js এর কাঁটাচামচটি এখন ক্রিকানের রেপোতে মূল সংস্করণে মিশে গেছে ।

ভাল ডকুমেন্টেশন এছাড়াও মূল রেপো পাওয়া যায়।

আসল উত্তর (পুরানো)

আপনার sql.js এর নতুন সংস্করণ ব্যবহার করা উচিত । এটি স্ক্লাইট 3.8 এর বন্দর, একটি ভাল ডকুমেন্টেশন রয়েছে এবং সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয় (আমার দ্বারা)। এটি প্রস্তুত বিবৃতি এবং বিএলওবি ডেটা প্রকার সমর্থন করে।


সার্ভারের পাশে থাকা এসকিউএলাইট ডাটাবেস অ্যাক্সেসের জন্য (সন্নিবেশ, আপডেট, পড়ুন) sql.js ব্যবহার করতে পারি?
অভে

@ লভোসোয়া আমি যদি sql.js ব্যবহার করি তবে কোনও নতুন কম্পিউটার আমার সাইট চালিয়ে কোনও সিআরইউডি কি কোনও ইনস্টলেশন না করেই তার ডাটাবেসে (এইচটিএমএল ফোল্ডারের সাথে একই পথে সঞ্চিত ডিবি) সিআরডি করতে পারে?
জিফ গিলবার্ট

4
@ জিফগিলবার্ট নং। Sql.js একচেটিয়াভাবে মেমরি পরিচালনা করে, কিছুই স্থির থাকে না। আপনি যদি নিজের ফাইল সিস্টেমে ডাটাবেস ফাইলটি লিখতে চান তবে আপনাকে সেই যুক্তিটি নিজে লিখতে হবে।
lovasoa

4

এর মধ্যে সবচেয়ে আকর্ষণীয় বৈশিষ্ট্যগুলির মধ্যে একটি HTML5হ'ল স্থানীয়ভাবে ডেটা সঞ্চয় করতে এবং অ্যাপ্লিকেশনটিকে অফলাইনে চালানোর অনুমতি দেওয়া। তিনটি পৃথক পৃথক এপিআই রয়েছে যা এই বৈশিষ্ট্যগুলির সাথে ডিল করে এবং একটি চয়ন করা নির্ভর করে আপনি স্থানীয়ভাবে যে ডেটা সংরক্ষণ করার পরিকল্পনা করছেন তার উপর নির্ভর করে:

  1. ওয়েব স্টোরেজ: মূল / মান জোড়া সহ বেসিক স্থানীয় স্টোরেজের জন্য
  2. অফলাইন স্টোরেজ: অফলাইন ব্যবহারের জন্য পুরো ফাইলগুলিকে ক্যাশে করতে ম্যানিফেস্ট ব্যবহার করে
  3. ওয়েব ডাটাবেস: আপেক্ষিক ডাটাবেস স্টোরেজ জন্য

আরও রেফারেন্সের জন্য এইচটিএমএল 5 স্টোরেজ API গুলি উপস্থাপন করা দেখুন

এবং কিভাবে ব্যবহার করতে হয়

http://cookbooks.adobe.com/post_Store_data_in_t_HTML5_SQLite_datedia-1911115.html


4
ওহে, আপনার উত্তরের দ্বিতীয় সংশোধনটি একবার দেখুন, সেখানে আপনি এটি পড়তে পারেন;)
ক্রিস্টোফ

1

পাউচডিবি-র মতো ব্যবহার সম্পর্কে কী? http://pouchdb.com/


যেমন আপনি দেখতে পাচ্ছেন প্রশ্নের লেখকের স্ক্লাইট ডিবি রয়েছে এবং আপনি এসকিউএলটি => পাউচডিবি রূপান্তর করার জন্য উদাহরণ এবং স্ক্রিপ্ট সরবরাহ করেন নি
ম্যাককোরিউকোভ

-2

আইএমএইচও, সর্বোত্তম উপায় হল অ্যাজ্যাক্সের মাধ্যমে পোস্ট ব্যবহার করে পাইথনকে কল করা এবং পাইথনের মধ্যে ডিবি দিয়ে আপনার যা যা করা দরকার তা করা, তারপরে ফলাফলটি জাভাস্ক্রিপ্টে ফিরিয়ে দিন। পাইথনে জসন এবং স্ক্লাইট সমর্থন দুর্দান্ত এবং এটি পাইথনের সামান্য সাম্প্রতিক সংস্করণগুলির মধ্যে এটি 100% অন্তর্নির্মিত, তাই কোনও "এটিকে ইনস্টল করুন, সেই ইনস্টল করুন" ব্যথা নেই। পাইথনে:

import sqlite3
import json

... আপনার এটাই দরকার। এটি প্রতিটি পাইথন বিতরণের অংশ।

@ সিড্রিক জেফারসন উদাহরণ চেয়েছিলেন, সুতরাং (কিছুটা মর্মস্পর্শী) আমি জাভাস্ক্রিপ্ট এবং পাইথনের মধ্যে এখানে একা একা একা একা একা দাঁড়িয়ে থেকে লিখেছি


4
প্রশ্নটিতে "... যা আমি ব্রাউজার থেকে অ্যাক্সেস করতে চাই ..." রয়েছে । সুতরাং আপনার উত্তরটি (এর সাথে python) এই অঞ্চলের বাইরে (কমপক্ষে আজ, যখন কোনও ব্রাউজার থেকে অজগর চালানো এত সহজ নয়)
ম্যাক্সকুরিউকোভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.