sqlite फाइल्स पहा. SQLite डेटाबेसेस प्रशासित करण्यासाठी प्रोग्रामचे विहंगावलोकन

इतर मॉडेल 15.05.2019
चेरचर

इतर मॉडेल

तिसरा भाग म्हणजे सूक्ष्मता आणि वैशिष्ट्ये.

हा भाग सर्व प्रकारच्या SQLite वैशिष्ट्यांचा हॉजपॉज आहे. मी येथे (माझ्या मते) सर्वात महत्वाचे विषय एकत्रित केले आहेत, जे समजून घेतल्याशिवाय SQLite निर्वाण समजणे अशक्य आहे.

पुन्हा, पुष्कळ माहिती असल्यामुळे, लेखाचे स्वरूप खालीलप्रमाणे असेल: मनोरंजक विषयाचा एक छोटा परिचय आणि होम साइटची लिंक, जिथे तपशील आहेत. साइट, अरेरे, इंग्रजीमध्ये आहे.
मल्टीथ्रेडेड ऍप्लिकेशन्समध्ये SQLite वापरणे SQLite सिंगल-थ्रेडेड बांधले जाऊ शकते (संकलन पर्याय).

SQLITE_THREADSAFE = 0

या मूर्त स्वरुपात, ते एकाच वेळी एकाधिक थ्रेड्समधून वापरले जाऊ शकत नाही, कारण कोणताही सिंक्रोनाइझेशन कोड नाही. कशासाठी? ब्रेकनेक वेगासाठी. कॉल वापरून तुम्ही मल्टीथ्रेडिंग आहे का ते तपासू शकता sqlite3_threadsafe()

: जर ते 0 परत आले, तर ते सिंगल-थ्रेडेड SQLite आहे.

डीफॉल्टनुसार, SQLite थ्रेड सपोर्ट (sqlite3.dll) सह तयार केले जाते.

मल्टी-थ्रेडेड SQLite वापरण्याचे दोन मार्ग आहेत: सीरियलाइज्ड आणि मल्टी-थ्रेड.सिरियलाइज्ड (आपण ध्वज निर्दिष्ट करणे आवश्यक आहेकनेक्शन उघडताना). या मोडमध्ये, थ्रेड्स त्यांना पाहिजे त्या प्रकारे SQLite कॉल करू शकतात, कोणतेही निर्बंध नाहीत. परंतु सर्व कॉल एकमेकांना अवरोधित करतात आणि काटेकोरपणे क्रमाने प्रक्रिया केली जातात.

बहु-धागा(SQLITE_OPEN_NOMUTEX). या मोडमध्ये, एकाधिक थ्रेड्स एकाच वेळी समान कनेक्शन वापरू शकत नाहीत (परंतु भिन्न थ्रेड एकाच वेळी भिन्न कनेक्शन वापरू शकतात). हा मोड सहसा वापरला जातो.

डेटा स्वरूप
SQLite डेटाबेस UTF-8 किंवा UTF-16 मध्ये (मजकूर) डेटा संचयित करू शकतो.

API कॉल सेटमध्ये UTF-8 प्राप्त करणारे कॉल असतात ( sqlite3_XXX) आणि UTF-16 प्राप्त करणारे कॉल ( sqlite3_XXX16).

इंटरफेस आणि कनेक्शनचा डेटा प्रकार जुळत नसल्यास, रूपांतरण फ्लायवर केले जाते.

नेहमी UTF-8 वापरा.

युनिकोड समर्थन
डीफॉल्टनुसार - कोणतेही समर्थन नाही. द्वारे तुम्हाला तुमचे स्वतःचे कोलेशन (तुलना करण्याची पद्धत) तयार करणे आवश्यक आहे sqlite3_create_collation .
आणि तुमची अंगभूत कार्ये परिभाषित करा जसे(), अप्पर(), लोअर()माध्यमातून www.sqlite.org/c3ref/create_function.html.

आणि काही लोक आधीपासून SQLite DLL तयार करतात.

डेटा प्रकार आणि मूल्य तुलना
आधीच नमूद केल्याप्रमाणे, SQLIte तुम्हाला कोणत्याही स्तंभावर कोणतेही मूल्य लिहिण्याची परवानगी देते.

डेटाबेसमधील मूल्य खालीलपैकी एका स्टोरेज प्रकाराचे असू शकते ( स्टोरेज वर्ग):
NULL,
पूर्णांक(1,2,3,4,6 किंवा 8 बाइट्स व्यापतात)
वास्तविक(फ्लोटिंग पॉइंट नंबर, IEEE फॉरमॅटमध्ये 8 बाइट्स),
TEXT(डेटाबेस डेटा फॉरमॅटमध्ये स्ट्रिंग, सहसा UTF-8),
BLOB(बायनरी डेटा, संग्रहित "जसा आहे").

विविध प्रकारच्या मूल्यांसाठी क्रमवारी क्रम आहे:
- NULLकिमान सर्व (इतरांसह NULL);
- पूर्णांकआणि वास्तविककोणत्याही पेक्षा कमी TEXTआणि BLOB, एकमेकांशी अंकगणितानुसार तुलना केली जाते;
- TEXTकोणत्याही पेक्षा कमी BLOB, त्यांच्या संयोगाच्या आधारावर एकमेकांशी तुलना केली जाते;
- BLOBच्या माध्यमातून एकमेकांशी तुलना केली जाते memcmp().

SQLite अनेक ठिकाणी फ्लायवर अस्पष्ट प्रकार रूपांतरणे करते:
- स्तंभामध्ये मूल्य प्रविष्ट करताना (स्तंभ प्रकार रूपांतरण शिफारस निर्दिष्ट करतो);
- एकमेकांशी मूल्यांची तुलना करताना.

मूल्ये BLOBआणि NULLनेहमी कोणत्याही स्तंभात "जसे आहे तसे" प्रविष्ट केले जातात.

स्तंभाला TEXTमूल्ये TEXTमूल्ये "जशी आहे तशी" प्रविष्ट केली आहेत पूर्णांकआणि वास्तविकतार बनणे.
स्तंभाला अंकीय, पूर्णांकसंख्या "जशी आहे तशी" लिहिली जाते आणि _ते करू शकत असल्यास स्ट्रिंग संख्या बनतात (म्हणजे, उलट "तोटारहित" रूपांतरणास अनुमती आहे).
स्तंभासाठी वास्तविकनियम सारखे आहेत पूर्णांक(अंकीय); फरक हा आहे की सर्व संख्या फ्लोटिंग पॉइंट फॉरमॅटमध्ये दर्शविल्या जातात.
स्तंभाला काहीही नाहीमूल्ये "जशी आहे तशी" प्रविष्ट केली जातात (जोपर्यंत दुसरा निर्दिष्ट केला जात नाही तोपर्यंत हा प्रकार डीफॉल्टनुसार वापरला जातो).

वेगवेगळ्या प्रकारच्या मूल्यांची एकमेकांशी तुलना करताना, अतिरिक्त प्रकार रूपांतरण केले जाऊ शकते.

एखाद्या संख्येची स्ट्रिंगशी तुलना करताना, जर स्ट्रिंगला "लसलेस" संख्येमध्ये रूपांतरित केले जाऊ शकते, तर ती संख्या बनते.

मी येथे लक्षात घेईन की SQLite मध्ये युनिक इंडेक्समध्ये तुम्हाला आवडेल तितके असू शकतात NULLमूल्ये (ओरेकल याशी सहमत आहे आणि एमएस एसक्यूएल असहमत आहे).

मेमरी मध्ये डेटाबेस
कॉलवर असल्यास sqlite3_open()म्हणून फाइल नाव पास करा ":मेमरी:", नंतर SQLite नवीन (स्वच्छ) डेटाबेसशी कनेक्शन तयार करेल आठवणीत.

हे कनेक्शन वापरण्याच्या तर्कानुसार फाईलमधील डेटाबेसच्या कनेक्शनपासून पूर्णपणे वेगळे करता येण्यासारखे नाही: SQL कमांडचा समान संच उपलब्ध आहे.

दुर्दैवाने, मेमरीमध्ये एकाच डेटाबेसमध्ये दोन कनेक्शन उघडण्याचा कोणताही मार्ग नाही.

UPD:असे दिसून आले की मेमरीमध्ये एका डेटाबेसमध्ये दोन कनेक्शन उघडणे आधीच शक्य आहे.

Rc = sqlite3_open("file:memdb1?mode=memory&cache=shared", &db);

डेटाबेस संलग्न करा "फाइल:memdb1?mode=memory&cache=shared" AS aux1;

एकाच वेळी अनेक डेटाबेसमध्ये सामील होणे
डेटाबेसशी कनेक्शन उघडण्यासाठी, कॉल वापरा sqlite3_open().

आम्ही कधीही कनेक्शन उघडू शकतो सामील होणे SQL कमांडद्वारे 10 पर्यंत अधिक डेटाबेस डेटाबेस संलग्न करा.

Sqlite3_open("foo.sqlite3", &db); // "foo.sqlite3" sqlite3_exec(&db, "ATTACH "bar.sqlite3" AS bar", ...) फाइलमधील डेटाबेसशी कनेक्शन उघडा; // "bar.sqlite3" संलग्न करा

आता db1.sqlite3 फाइलमधील सर्व डेटाबेस टेबल्स आमच्या कनेक्शनमध्ये पारदर्शकपणे उपलब्ध आहेत.

नामकरण विवादांचे निराकरण करण्यासाठी, आपण सामील नाव वापरावे (मुख्य आधार म्हणतात "मुख्य"):

निवडा * main.my_table UNION मधून * bar.my_table मधून निवडा

डेटाबेसमध्ये मेमरीमधील नवीन डेटाबेस संलग्न करण्यापासून आणि कॅशिंग इत्यादीसाठी वापरण्यापासून काहीही प्रतिबंधित करत नाही.

Sqlite3_open("foo.sqlite3", &db); // "foo.sqlite3" sqlite3_exec(&db, "ATTACH":memory:" AS mem", ...) फाइलमधील डेटाबेसशी कनेक्शन उघडा; // मेमरीमध्ये नवीन डेटाबेस संलग्न करा

हे एक अतिशय उपयुक्त वैशिष्ट्य आहे. संलग्न डेटाबेसमध्ये मुख्य डेटाबेस प्रमाणेच डेटा स्वरूप असणे आवश्यक आहे, अन्यथा एक त्रुटी असेल.

तात्पुरता डेटाबेस
फाइलनावाऐवजी रिक्त स्ट्रिंग पास करा sqlite3_open()आणि डिस्कवरील फाइलमध्ये तात्पुरता डेटाबेस तयार केला जाईल. शिवाय, डेटाबेसशी कनेक्शन बंद केल्यानंतर, ते डिस्कवरून हटविले जाईल.
PRAGMA कमांड वापरून डेटाबेस फाइन-ट्यूनिंग
एसक्यूएल कमांड प्राग्माकनेक्शन किंवा डेटाबेससाठी सर्व प्रकारच्या सेटिंग्ज सेट करण्यासाठी कार्य करते:

प्राग्मा नाव; // नाव पॅरामीटरच्या वर्तमान मूल्याची विनंती करा PRAGMA name = मूल्य; // नाव पॅरामीटर मूल्यावर सेट करा

कनेक्शन सेट करणे (स्पष्टपणे) उघडल्यानंतर आणि ते वापरण्यापूर्वी लगेच केले पाहिजे.

सर्व पॅरामीटर्सचे संपूर्ण वर्णन उपलब्ध आहे.

मी सर्वात महत्वाच्या गोष्टींवर लक्ष केंद्रित करेन.

PRAGMA page_size = bytes; // डेटाबेस पृष्ठ आकार; डेटाबेस पृष्ठ हे डिस्क आणि कॅशेमधील देवाणघेवाणीचे एकक आहे, ते डिस्क क्लस्टरच्या आकारासारखे करणे वाजवी आहे (माझ्याकडे 4096 आहे) PRAGMA cache_size = -kibibytes; // कनेक्शन कॅशे आकार किलोबाइट्समध्ये सेट करा, डीफॉल्टनुसार ते 2000 डेटाबेस पृष्ठे आहे PRAGMA एन्कोडिंग = "UTF-8"; // डेटाबेस डेटा प्रकार, नेहमी UTF-8 PRAGMA foreign_keys = 1 वापरा; // विदेशी की साठी समर्थन सक्षम करा, मुलभूतरित्या - अक्षम करा PRAGMA journal_mode = हटवा | तोडणे | कायम राहा | मेमरी | वॉल | बंद; // लॉग प्रकार सेट करा, खाली पहा PRAGMA synchronous = 0 | बंद | 1 | सामान्य | 2 | पूर्ण; // व्यवहार सिंक्रोनाइझेशनचा प्रकार, खाली पहा

जर्नल आणि व्यवहारांचे रेकॉर्डिंग
म्हणून आम्ही एका विषयावर आलो आहोत, ज्याचे प्रभुत्व तुम्हाला त्वरित SQLite पदव्युत्तर पदवीच्या तिसऱ्या स्तरावर स्थानांतरित करते.

SQLite डेटाबेस (ACID) मधील डेटाची अखंडता काळजीपूर्वक राखते, डेटा बदलण्यासाठी एक यंत्रणा कार्यान्वित करते. व्यवहार.

व्यवहारांबद्दल थोडक्यात: व्यवहार एकतर पूर्णपणे परत केला जातो किंवा पूर्णपणे परत केला जातो. मध्यवर्ती राज्ये असू शकत नाहीत.

तुम्ही व्यवहार स्पष्टपणे वापरत नसल्यास ( सुरू करणे; ...; कमिट;), ते एक अव्यक्त व्यवहार नेहमी तयार केला जातो. कमांड कार्यान्वित होण्यापूर्वी ते सुरू होते आणि नंतर लगेच वचनबद्ध होते.

हे, तसे, SQLite च्या "मंदपणा" बद्दल तक्रारी येतात. SQLite प्रति सेकंद 50 हजार रेकॉर्ड समाविष्ट करू शकते, परंतु रेकॉर्ड व्यवहारते प्रति सेकंद ~50 पेक्षा जास्त करू शकत नाही.

त्यामुळे अव्यक्त व्यवहाराचा वापर करून नोंदी लवकर टाकणे शक्य होत नाही.

डीफॉल्ट सेटिंग्जसह, ऑपरेशन दरम्यान पॉवर बंद असताना देखील SQLite डेटाबेस अखंडतेची हमी देते.

असे आश्चर्यकारक वर्तन नेतृत्वाने प्राप्त केले आहे मासिक(विशेष फाइल) आणि डिस्कवरील बदल सिंक्रोनाइझ करण्यासाठी एक कल्पक यंत्रणा.

डेटाबेसमधील डेटा थोडक्यात अपडेट करणे याप्रमाणे कार्य करते:

डेटाबेसमधील कोणत्याही बदलापूर्वी, SQLite डेटाबेसमधील सुधारित पृष्ठे एका वेगळ्या फाईलमध्ये (लॉग) जतन करते, म्हणजेच ते तेथे फक्त कॉपी करते;
- पृष्ठांची एक प्रत तयार केल्याची खात्री केल्यानंतर, SQLite डेटाबेस बदलण्यास सुरवात करते;
- डेटाबेसमधील सर्व बदल "डिस्कवर पोहोचले" आणि डेटाबेस पूर्ण झाला याची खात्री केल्यावर, SQLite लॉग मिटवते.

व्यवहार यंत्रणेच्या अणूचे तपशीलवार वर्णन केले आहे.

जर SQLite डेटाबेसशी कनेक्शन उघडते आणि पाहते की तेथे आधीपासूनच लॉग आहे, तर त्याला कळते की डेटाबेस अपूर्ण स्थितीत आहे आणि आपोआप शेवटचा व्यवहार परत करतो.

म्हणजेच, अयशस्वी झाल्यानंतर डेटाबेस पुनर्प्राप्ती यंत्रणा, खरं तर, SQLite मध्ये तयार केली जाते आणि वापरकर्त्याच्या लक्षात न घेता कार्य करते.

डीफॉल्टनुसार, लॉग मोडमध्ये ठेवला जातो हटवा.
PRAGMA जर्नल_मोड = हटवा

याचा अर्थ व्यवहार पूर्ण झाल्यानंतर लॉग फाइल हटविली जाते. या मोडमध्ये लॉग फाइल असण्याचा अर्थ SQLite साठी असा आहे की व्यवहार पूर्ण झाला नाही आणि डेटाबेस पुनर्संचयित करणे आवश्यक आहे. लॉग फाइलमध्ये डेटाबेस फाइलचे नाव "-journal" सह जोडलेले असते.

मोडमध्ये कापून टाकालॉग फाइल शून्यावर कापली जाते (काही प्रणालींवर हे फाइल हटवण्यापेक्षा जलद असते).

मोडमध्ये कायम राहालॉग फाइलची सुरूवात शून्याने भरलेली आहे (तथापि, त्याचा आकार बदलत नाही आणि ती खूप जागा घेऊ शकते).

मोडमध्ये मेमरीलॉग फाइल मेमरीमध्ये ठेवली जाते आणि हे त्वरीत कार्य करते, परंतु अयशस्वी झाल्यास डेटाबेस पुनर्प्राप्तीची हमी देत ​​नाही (डिस्कवरील डेटाची कोणतीही प्रत नाही).

किंवा तुम्ही जर्नल पूर्णपणे अक्षम करू शकता ( PRAGMA जर्नल_मोड = बंद). या परिस्थितीत, व्यवहार रोलबॅक कार्य करणे थांबवते (आदेश रोलबॅक) आणि प्रोग्राम असामान्यपणे बंद झाल्यास डेटाबेस बहुधा दूषित होईल.

इन-मेमरी डेटाबेससाठी, लॉग मोड फक्त एकतर असू शकतो मेमरी, किंवा बंद.

थोडे मागे जाऊया. SQLite डेटाबेस नेहमी सुसंगत असेल याची “खात्री” कशी करते?

आम्हाला माहित आहे की आधुनिक प्रणाली कार्यप्रदर्शन सुधारण्यासाठी हुशार कॅशिंग वापरतात आणि डिस्कवर लिहिण्यास विलंब करू शकतात.

समजा SQLite ने डेटाबेसवर लिहिणे पूर्ण केले आहे आणि व्यवहार करण्यात आला होता हे चिन्हांकित करण्यासाठी लॉग फाइल मिटवायची आहे.

डेटाबेस अपडेट होण्यापूर्वी फाईल हटवली तर काय?

या कालावधीत वीज बंद असल्यास, लॉग यापुढे अस्तित्वात राहणार नाही आणि डेटाबेस अद्याप पूर्ण होणार नाही - डेटा गमावणे!

थोडक्यात, चतुर कमिट मेकॅनिझमने डिस्क सिस्टम आणि OS कडून काही हमींवर अवलंबून असणे आवश्यक आहे.

प्राग्मा समकालिकया संदर्भात SQLite ची “पॅरानोईया” पदवी सेट करते.

मोड बंद(किंवा 0) म्हणजे: SQLite डेटा OS वर हस्तांतरित केल्यानंतर लगेच डिस्कवर निश्चित केला जाईल असे मानते (म्हणजे, संबंधित OS API ला कॉल केल्यानंतर लगेच).

याचा अर्थ असा की जेव्हा अखंडतेची हमी दिली जाते अनुप्रयोग क्रॅश(OS चालू राहिल्यामुळे), पण कधी नाही OS क्रॅशकिंवा वीज अपयश.

सिंक मोड सामान्य(किंवा 1) OS क्रॅश आणि जवळजवळ सर्व पॉवर आउटेज दरम्यान अखंडतेची हमी देते. जर सत्ता गेली तर शून्य नसण्याची शक्यता आहे सर्वात अयोग्य क्षणीपाया खराब होईल. कामगिरी आणि विश्वासार्हतेच्या बाबतीत हा एक प्रकारचा सरासरी, तडजोड मोड आहे.

मोड पूर्णनेहमी आणि सर्वत्र आणि कोणत्याही अपघातात अखंडतेची हमी देते. परंतु हे अर्थातच अधिक हळूहळू कार्य करते, कारण काही ठिकाणी प्रतीक्षा विराम आहेत. आणि हा डीफॉल्ट मोड आहे.

तर, फक्त एखाद्या मासिकाचा विषय आवडला वाल.

WAL लॉग मोड
डीफॉल्टनुसार, डेटाबेस लॉग मोड नेहमी "परत" होतो हटवा. समजा आम्ही डेटाबेसशी कनेक्शन उघडले आणि मोड सेट केला कायम राहा. बदललेला डेटा, बंद कनेक्शन.

डिस्कवर एक लॉग फाइल शिल्लक आहे (ज्याची सुरुवात शून्याने भरलेली आहे).

डेटाबेसचे कनेक्शन पुन्हा उघडा. आपण या कनेक्शनवर लॉग मोड सेट न केल्यास, ते पुन्हा कार्य करेल हटवा. एकदा आम्ही डेटा अपडेट केल्यानंतर, व्यवहार कमिट यंत्रणा लॉग फाइल मिटवेल.

लॉग मोड वालते वेगळ्या पद्धतीने कार्य करते - ते "कायम" आहे. एकदा आम्ही डेटाबेस WAL मोडवर स्विच केल्यानंतर, तो या मोडमध्ये राहील जोपर्यंत तो स्पष्टपणे दुसर्या लॉग मोडमध्ये बदलला जात नाही.

मग त्याची गरज का आहे?

SQLite मूळतः एम्बेडेड डेटाबेस म्हणून डिझाइन केले होते. डेटावर एकाचवेळी प्रवेश सामायिक करण्यासाठी आर्किटेक्चर प्राथमिकरित्या डिझाइन केले गेले होते: अनेक कनेक्शन एकाच वेळी डेटाबेस वाचू शकतात, परंतु दिलेल्या वेळी फक्त एक कनेक्शन लिहू शकते. याचा, कमीतकमी, याचा अर्थ असा आहे की लेखन कनेक्शन वाचकांकडून डेटाबेस "रिलीझ" होण्याची प्रतीक्षा करत आहे. "व्यस्त" डेटाबेसवर लिहिण्याचा प्रयत्न करताना, अनुप्रयोगास एक त्रुटी प्राप्त होते SQLITE_BUSY(गोंधळ होऊ नये SQLITE_LOCKED!). ही प्रवेश सामायिकरण यंत्रणा फाइल लॉकिंग API द्वारे प्राप्त केली जाते (जे नेटवर्क ड्राइव्हवर चांगले कार्य करत नाही, म्हणून तेथे SQLite वापरण्याची शिफारस केलेली नाही ;)

आम्हाला आशा आहे की आम्ही तुम्हाला SQLITE3 सह समस्येचे निराकरण करण्यात मदत केली आहे. आमच्या सूचीमधून तुम्ही अनुप्रयोग कोठे डाउनलोड करू शकता हे तुम्हाला माहिती नसल्यास, दुव्यावर क्लिक करा (हे प्रोग्रामचे नाव आहे) - आवश्यक अनुप्रयोगाची सुरक्षित स्थापना आवृत्ती कोठे डाउनलोड करायची याबद्दल तुम्हाला अधिक तपशीलवार माहिती मिळेल.

या पृष्ठाला भेट दिल्याने तुम्हाला या किंवा तत्सम प्रश्नांची उत्तरे देण्यात मदत होईल:

  • SQLITE3 विस्ताराने फाइल कशी उघडायची?
  • SQLITE3 फाईल दुसऱ्या फॉरमॅटमध्ये कशी रूपांतरित करायची?
  • SQLITE3 फाईल फॉरमॅट एक्स्टेंशन काय आहे?
  • कोणते प्रोग्राम SQLITE3 फाइल सर्व्ह करतात?

जर, या पृष्ठावरील सामग्री पाहिल्यानंतर, तुम्हाला अद्याप वरीलपैकी कोणत्याही प्रश्नाचे समाधानकारक उत्तर मिळाले नाही, तर याचा अर्थ SQLITE3 फाइलबद्दल येथे सादर केलेली माहिती अपूर्ण आहे. संपर्क फॉर्म वापरून आमच्याशी संपर्क साधा आणि तुम्हाला कोणती माहिती सापडली नाही ते लिहा.

आणखी कशामुळे समस्या उद्भवू शकतात?

तुम्ही SQLITE3 फाइल का उघडू शकत नाही याची आणखी कारणे असू शकतात (केवळ योग्य अनुप्रयोग नसणे).
प्रथमतः- SQLITE3 फाइल सेवा देण्यासाठी स्थापित केलेल्या अनुप्रयोगाशी चुकीच्या पद्धतीने जोडलेली (विसंगत) असू शकते. या प्रकरणात, आपल्याला हे कनेक्शन स्वतः बदलण्याची आवश्यकता आहे. हे करण्यासाठी, आपण संपादित करू इच्छित असलेल्या SQLITE3 फाइलवर उजवे-क्लिक करा, पर्यायावर क्लिक करा "यासह उघडा"आणि नंतर सूचीमधून आपण स्थापित केलेला प्रोग्राम निवडा. या क्रियेनंतर, SQLITE3 फाईल उघडण्यातील समस्या पूर्णपणे अदृश्य व्हाव्यात.
दुसरे म्हणजे- तुम्हाला उघडायची असलेली फाईल खराब होऊ शकते. या प्रकरणात, त्याची नवीन आवृत्ती शोधणे किंवा ती त्याच स्त्रोतावरून पुन्हा डाउनलोड करणे चांगले होईल (कदाचित मागील सत्रात काही कारणास्तव SQLITE3 फाइलचे डाउनलोड पूर्ण झाले नाही आणि ती योग्यरित्या उघडली जाऊ शकली नाही) .

तुम्हाला मदत करायची आहे का?

तुमच्याकडे SQLITE3 फाइल विस्ताराविषयी अतिरिक्त माहिती असल्यास, तुम्ही ती आमच्या साइटच्या वापरकर्त्यांसोबत शेअर केल्यास आम्ही आभारी राहू. खालील फॉर्म वापरा आणि SQLITE3 फाइलबद्दल तुमची माहिती आम्हाला पाठवा.

ही कोणत्या प्रकारची फाइल आहे - SQLITE?

.SQLITE एक्स्टेंशन असलेल्या फाईलमध्ये SQLite सिस्टमद्वारे तयार आणि व्यवस्थापित केलेले, टेबल्सच्या स्वरूपात आयोजित केलेल्या विविध प्रकारांचा डेटाबेस असतो. अंगभूत SQLite व्यवस्थापन प्रणालीला समर्थन देणारी लायब्ररी विनामूल्य आणि सहज उपलब्ध आहेत.

SQLite डेटाबेसेसवर केल्या जाणाऱ्या क्रिया SQL भाषा आणि या मानकाला सपोर्ट करणारी कोणतीही प्रणाली वापरून केली जाऊ शकतात. या स्वरूपातील डेटाबेस ऑटोडेस्क, भूस्थानिक सॉफ्टवेअर, अनेक प्रोग्रामिंग भाषा आणि पूर्व-निर्मित प्रोग्राम्सद्वारे समर्थित आहेत.

प्रोग्राम जे फाइल उघडू शकतात

खिडक्या
MacOS
लिनक्स

जर एखादी परिस्थिती उद्भवली ज्यामध्ये तुम्ही तुमच्या संगणकावर SQLITE फाइल उघडू शकत नाही, तर अनेक कारणे असू शकतात. प्रथम आणि त्याच वेळी सर्वात महत्वाचे (हे बहुतेक वेळा घडते) आपल्या संगणकावर स्थापित केलेल्यांमध्ये SQLITE सेवा देणार्या योग्य अनुप्रयोगाची अनुपस्थिती आहे.

या समस्येचे निराकरण करण्याचा सर्वात सोपा मार्ग म्हणजे योग्य अनुप्रयोग शोधणे आणि डाउनलोड करणे. कार्याचा पहिला भाग आधीच पूर्ण झाला आहे - SQLITE फाईल सर्व्हिसिंगसाठी प्रोग्राम खाली आढळू शकतात.आता तुम्हाला योग्य अनुप्रयोग डाउनलोड आणि स्थापित करण्याची आवश्यकता आहे.

या पृष्ठाच्या उर्वरित भागात तुम्हाला SQLITE फाइल्समध्ये समस्या निर्माण करणारी इतर संभाव्य कारणे सापडतील.

SQLITE फॉरमॅटमधील फाइल्ससह संभाव्य समस्या

SQLITE फाईल उघडण्यास आणि कार्य करण्यास असमर्थतेचा अर्थ असा नाही की आमच्याकडे आमच्या संगणकावर योग्य सॉफ्टवेअर स्थापित नाही. SQLite डेटाबेस फॉरमॅट फाइलसह कार्य करण्याची आमची क्षमता देखील अवरोधित करणाऱ्या इतर समस्या असू शकतात. खाली संभाव्य समस्यांची यादी आहे.

  • उघडल्या जात असलेल्या SQLITE फाईलचा भ्रष्टाचार.
  • रेजिस्ट्री एंट्रीमध्ये चुकीच्या SQLITE फाइल असोसिएशन.
  • Windows नोंदणीमधून SQLITE विस्तार वर्णनाचे अपघाती हटवणे
  • SQLITE फॉरमॅटला सपोर्ट करणाऱ्या ॲप्लिकेशनची अपूर्ण स्थापना
  • उघडली जात असलेली SQLITE फाईल अवांछित मालवेअरने संक्रमित आहे.
  • SQLITE फाइल उघडण्यासाठी तुमच्या संगणकावर खूप कमी जागा आहे.
  • SQLITE फाइल उघडण्यासाठी संगणकाद्वारे वापरल्या जाणाऱ्या उपकरणांचे ड्रायव्हर्स कालबाह्य झाले आहेत.

जर तुम्हाला खात्री असेल की वरील सर्व कारणे तुमच्या बाबतीत उपस्थित नाहीत (किंवा आधीच नाकारली गेली आहेत), SQLITE फाइलने तुमच्या प्रोग्राम्ससह कोणत्याही समस्यांशिवाय कार्य केले पाहिजे. SQLITE फाईलमधील समस्या अद्याप निराकरण न झाल्यास, याचा अर्थ असा होऊ शकतो की या प्रकरणात SQLITE फाईलमध्ये दुसरी, दुर्मिळ समस्या आहे. या प्रकरणात, फक्त एक गोष्ट बाकी आहे एक विशेषज्ञ मदत.

.abs परिपूर्ण डेटाबेस सिंगल-फाइल डेटाबेस स्वरूप
.accdb Microsoft Access 2007/2010 डेटाबेस फॉरमॅट
.accdc Microsoft Access 2007/2010 डिजिटली स्वाक्षरी केलेला डेटाबेस स्वरूप
.accde Microsoft Access 2007/2010 संकलित एक्झिक्युट ओन्ली फॉरमॅट
.accdr Microsoft Access 2007/2010 रनटाइम मोड डेटाबेस फॉरमॅट
.accdt Microsoft Access 2007/2010 डेटाबेस टेम्पलेट फॉरमॅट
.accdw मायक्रोसॉफ्ट ऍक्सेस लिंक फॉरमॅट
.accft मायक्रोसॉफ्ट ऍक्सेस टेम्प्लेट फॉरमॅट
स्थापित प्रोग्रामसह फाईल कशी जोडायची?

तुम्हाला नवीन प्रोग्राम (उदा. moj-plik.SQLITE) सोबत फाइल लिंक करायची असल्यास तुमच्याकडे दोन पर्याय आहेत. पहिला आणि सर्वात सोपा म्हणजे निवडलेल्या SQLITE फाइलवर उजवे-क्लिक करणे. उघडलेल्या मेनूमधून, पर्याय निवडा डीफॉल्ट प्रोग्राम निवडा", नंतर पर्याय "पुनरावृत्ती"आणि आवश्यक प्रोग्राम शोधा. ओके बटण दाबून संपूर्ण ऑपरेशनची पुष्टी करणे आवश्यक आहे.

अज्ञात फायली उघडण्यासाठी एक सार्वत्रिक पद्धत आहे का?

अनेक फाइल्समध्ये मजकूर किंवा संख्यांच्या स्वरूपात डेटा असतो. हे शक्य आहे की अज्ञात फाइल्स (उदा. SQLITE) उघडत असताना, विंडोजमध्ये लोकप्रिय असलेला एक साधा मजकूर संपादक, जो Notatnikआम्हाला फाइलमध्ये एन्कोड केलेला डेटाचा भाग पाहण्याची परवानगी देईल. ही पद्धत तुम्हाला बऱ्याच फायलींची सामग्री पाहण्याची परवानगी देते, परंतु त्यांना सर्व्ह करण्यासाठी डिझाइन केलेल्या प्रोग्रामच्या रूपात नाही.

जर तुम्हाला .sqlite किंवा .sqlite3 या एक्स्टेंशन असलेल्या फायली आढळल्या आणि त्यांच्या अंतर्भागात जाणून घेण्यासाठी त्या कशा उघडायच्या हे माहित नसेल, तर विनामूल्य प्रोग्राम हा एक उत्तम पर्याय असेल. ज्यांना या फायली काय असा प्रश्न पडतो त्यांच्यासाठी, हा SQLite फॉरमॅटमधील डेटाबेस आहे, जिथे सर्व सारणी डेटा एका फाईलमध्ये संग्रहित केला जातो. आजकाल, अनेक प्रोग्राम्स त्यांचा डेटा संघटित स्वरूपात संग्रहित करण्यासाठी SQLite डेटाबेस वापरतात, उदाहरणार्थ, Viber मध्ये पत्रव्यवहार आणि संपर्क क्रमांक.

SQLite ला इन्स्टॉल करण्याची आवश्यकता नाही, तुम्ही डाउनलोड करता ती एकमेव एक्झिक्यूटेबल फाइल संपूर्ण प्रोग्राम आहे, जी आम्ही आवश्यकतेनुसार लॉन्च करतो. फक्त पहिल्या लॉन्च दरम्यान अनुप्रयोग नम्रपणे विचारेल की आपण कोणती भाषा वापरण्यास प्राधान्य देता; प्रत्येक प्रक्षेपण दरम्यान, संकेतांसह एक टेबल पॉप अप होते, जे योग्य बॉक्स चेक करून अक्षम केले जाऊ शकते.

SQLite कसे कार्य करते याच्या बारकावे जाणून घेण्यापूर्वी, मी एक छोटीशी टिप्पणी करू इच्छितो. SQLite डेटाबेसमध्ये कोणते विस्तार असावेत याबद्दल विकासकांकडे कोणतेही न बोललेले नियम नाहीत. विकसकांच्या कल्पनेवर अवलंबून, फाइल विस्तार एकतर अर्थपूर्ण .sqlite, .sqlite3, sl2, sl3 किंवा अधिक सार्वत्रिक db, db2, db3, sbd3 असू शकतो. तुमच्याकडे SQLite फॉरमॅटमध्ये खरोखर डेटाबेस आहे याची खात्री करण्यासाठी, तुम्हाला आवश्यक आहे आणि जर पहिल्या ओळीत “SQLite format” हा वाक्यांश असेल तर मोकळ्या मनाने SQLiteStudio उचला.

डेटाबेस उघडण्यासाठी, मुख्य मेनू "डेटाबेस" -> "डेटाबेस जोडा" वर क्लिक करा, त्यानंतर एक विंडो पॉप अप होईल ज्यामध्ये आम्ही आम्हाला स्वारस्य असलेल्या डेटाबेससह फाइल निवडतो, आवश्यक असल्यास, लहान सेटिंग्ज करा (कोणती आवृत्ती डेटाबेस आणि ते लक्षात ठेवायचे की नाही ), आणि "ओके" क्लिक करा. तुम्हाला सेटिंग्जबद्दल जास्त काळजी करण्याची गरज नाही आणि 99% प्रकरणांमध्ये सर्वकाही चांगले कार्य करते.

डेटाबेस कनेक्ट केल्यानंतर, ते डाव्या टेबलमध्ये जोडले जाते, जे क्लिक केल्यावर, तेथे असलेल्या सारण्यांची सूची प्रकट करते. उजव्या बाजूला तुम्ही त्याच नावाच्या टॅबवरील सारणीची रचना आणि तेथे संग्रहित केलेला डेटा पाहू शकता, ज्यासाठी तुम्हाला “डेटा” टॅबवर क्लिक करणे आवश्यक आहे.

SQLiteStudio च्या इतर वैशिष्ट्यांबद्दल बोलण्यात काही अर्थ नाही, बहुतेक सामान्य वापरकर्त्यांना त्यांची गरज भासणार नाही, आणि इतर प्रत्येकाला हे समजते की ते डेटाबेस संपादित करण्यास का त्रास देतात आणि ते कसे करावे. मला फक्त एक शिफारस द्यायची आहे: तुमच्या डेटाबेसमध्ये प्रवेश करण्यापूर्वी त्याची एक बॅकअप प्रत तयार करा, त्यात संपादन करणे फारच कमी आहे.

आश्चर्याची गोष्ट म्हणजे, येथे बऱ्याच सेटिंग्ज आहेत, तथापि, त्या सर्व प्रामुख्याने प्रोग्रामच्या देखाव्याशी संबंधित आहेत (रंग, फॉन्ट, काय दर्शवायचे आणि काय लपवायचे) आणि कीबोर्ड शॉर्टकट.

5+ प्रोग्राम त्याच्या कार्यांशी सामना करतो, तुम्हाला SQLite फॉरमॅट डेटाबेसमध्ये संग्रहित डेटा, डेटा आणि टेबल्स संपादित करण्याची परवानगी देतो. सर्वात महत्वाची गोष्ट अशी आहे की सर्व काही अगदी स्थिरपणे, द्रुतपणे कार्य करते आणि अज्ञात कारणांमुळे काही फायलींवर गोठत नाही, जसे की इतर विकसकांकडील अनुप्रयोग.

प्रोग्राम 32 आणि 64 बिट ऑपरेटिंग सिस्टमवर उत्तम कार्य करतो. इंटरफेसचे रशियनसह अंदाजे दहा भाषांमध्ये भाषांतर केले गेले आहे.

- विस्तार (स्वरूप) म्हणजे फाईलच्या शेवटी शेवटच्या बिंदूनंतरचे अक्षर.
- संगणक फाईलचा प्रकार त्याच्या विस्ताराने ठरवतो.
- डीफॉल्टनुसार, विंडोज फाइल नाव विस्तार दर्शवत नाही.
- फाईलच्या नावात आणि विस्तारामध्ये काही वर्ण वापरले जाऊ शकत नाहीत.
- सर्व फॉरमॅट्स एकाच प्रोग्रामशी संबंधित नाहीत.
- खाली सर्व प्रोग्राम्स आहेत जे SQLITE फाइल उघडण्यासाठी वापरले जाऊ शकतात.

SQLite एक लायब्ररी आहे ज्यामध्ये पूर्णपणे स्वयंपूर्ण, व्यवहारात्मक, SQL डेटाबेस इंजिन समाविष्ट आहे. इंस्टॉलेशन किंवा सिस्टम कॉन्फिगरेशनची आवश्यकता नाही. सर्व्हर कॉन्फिगर करण्याची आवश्यकता नाही, ते सुरू किंवा थांबविण्याची आवश्यकता नाही आणि नवीन डेटाबेस तयार करण्याची आवश्यकता नाही. आणखी एक प्लस हे आहे की ते प्रत्येक भाग स्वतंत्रपणे सुरू करून आणि समाप्त करून बदलून कार्य करते, जे अचानक त्रुटी असल्यास किंवा सिस्टम अयशस्वी झाल्यास उपयुक्त आहे. याबद्दल धन्यवाद, डेटा गमावला जाणार नाही, परंतु जतन केला जाईल आणि कार्य करणे सुरू राहील. SQL हा जगातील सर्वाधिक वापरला जाणारा डेटाबेस आहे आणि तो खूप सामान्य आहे. पूर्णपणे उघडे आहे...

डेटाबेस NET हे एक अत्यंत सोयीचे साधन आहे जे तुम्हाला असंख्य डेटाबेससह विविध हाताळणी करण्यास अनुमती देते. अनुप्रयोग डाउनलोड केल्यानंतर, आपण इच्छित डेटा सारण्या सहजपणे तयार करू शकता, निवडू शकता, हटवू शकता किंवा अद्यतनित करू शकता. प्रोग्राम डेटासह टेबल्स यशस्वीरित्या निर्यात किंवा मुद्रित करू शकतो. प्रोग्राम ऍक्सेस, एक्सेलशी संवाद साधतो. डेटाबेससह कार्य करण्यास समर्थन देते: MySQL, Oracle, SQLite, SQLServer, OLEDB, ODBC, OData, SQLAzure, LocalDB, PostgreSQL आणि इतर डेटाबेस. प्रोग्राम योग्यरित्या कार्य करण्यासाठी, Microsoft .NET फ्रेमवर्कची आवश्यक स्थापना आवश्यक आहे. तुम्हाला कोणताही फॉन्ट निवडण्याची आणि ट्रेमध्ये कमी करण्याची अनुमती देते.



आम्ही वाचण्याची शिफारस करतो

वर