2012-06-06 13 views
16

SQLite में क्वेरी लॉग सक्षम करने के लिए कोई अंतर्निहित फ़ंक्शन है।SQLite 3 में क्वेरी लॉगिंग सक्षम करें

मैं Trace एपीआई से परिचित हूं, लेकिन मैं जानना चाहता हूं कि इसके लिए कोई पूर्वनिर्धारित कार्य है या नहीं।

+0

[SQLite के लिए SQL क्वेरी लॉगिंग का संभावित डुप्लिकेट?] (Https://stackoverflow.com/questions/1607368/sql-query-logging-for-sqlite) – user4157124

उत्तर

8

दिलचस्प सवाल। मैं यहाँ आया था और intrigued सोचा है कि मैं इस कभी नहीं पूछा अपने आप को ...

एक:

जाहिर है कुछ आवरण-पुस्तकालयों इस में निर्मित की तरह कुछ है। लेकिन एक रैपर लाइब्रेरी खोजने के लिए आपको शायद पहले लक्ष्य भाषा की पहचान करने की आवश्यकता होगी। पर्ल डीबीआई? अजगर? सी ++?

दो:

मैं होता (किसी भी तरह से) नहीं की सलाह देते हैं एक "उत्पादन ग्रेड" समाधान के लिए निम्नलिखित, लेकिन यदि आप मुख्य रूप से प्रयोग कर रहे हैं और/या डीबगिंग, तो आप की जांच की कोशिश कर सकते प्रत्येक लेनदेन के अंत से पहले रोलबैक जर्नल। See here about the rollback journal: http://www.sqlite.org/tempfiles.html आप कैसे पता लगाएंगे कि 'प्रत्येक लेनदेन का अंत' आपके कोड और/या आपके डीबगर में ब्रेकपॉइंट्स पर होगा।

मुझे फिर से जोर देना चाहिए: जो मैंने अभी ऊपर उल्लेख किया है वह कुल हैक-लगभग होगा, और मुझे यह भी गंदा लगता है।

तीन:

आप (बहुत सक्रिय और शालीन) sqlite mailing list पर पूछ सकते हैं, लेकिन वे शायद सिर्फ sqlite3_trace reemphasize होगा।

... अन्य यादृच्छिक बात:

कुछ हद तक एक पर (मुश्किल से?) से संबंधित टिप्पणी, जब आप एक './sqlite3' कमांड प्रॉम्प्ट सत्र शुरू, आप टाइप कर सकते हैं:

.explain 

जो प्रॉम्प्ट पर निष्पादित प्रत्येक क्वेरी के लिए रोचक और निर्देशक वर्बोज आउटपुट सक्षम बनाता है।

अधिक जानकारी मैं अभी मिला:

One of the flags that can be passed to 'sqlite3_config()' is SQLITE_CONFIG_LOG. यह एक और तरीका है (ट्रेस एपीआई के अलावा) एक कॉलबैक सेट और समय-समय पर SQLite पुस्तकालय से स्थिति की जानकारी प्राप्त करने के लिए है। मुझे लगता है कि यह मुख्य रूप से त्रुटि लॉग संदेशों के लिए है।

+7

शायद आप इस प्रश्न का उत्तर "नहीं" ", ओपी के सवाल को देखते हुए यह थोड़ा भ्रामक हो सकता है – Daan

संबंधित मुद्दे