मैं डेल्फ़ी 2007 के बारे में नहीं जानता, लेकिन मैंने डेल्फ़ी 7 और ऑरेकल 8 के साथ भी यही किया।
यहाँ वे चीज़ें हैं जो मैंने कीं:
- TAdoDataSet.CursorLocation सेट करें क्वेरी के अनुसार:
- clUseClient यदि क्वेरी GUI के लिए रिकॉर्ड प्राप्त करती है और क्वेरी अपेक्षाकृत "सरल" है - कोई समूह या योग नहीं
- clUseServer यदि क्वेरी में किसी प्रकार का एकत्रीकरण है (योग, समूहीकरण, गिनती)
- सेट TAdoDataSet.CursorType क्वेरी के अनुसार:
- ctForwardOnly उन रिपोर्ट के लिए जहां आपको डेटासेट के माध्यम से वापस स्क्रॉल करने की आवश्यकता नहीं है - केवल clUseServer . के साथ काम करता है
- ctStatic जीयूआई के लिए। यह एकमात्र तरीका है जो clUseClient . के साथ काम करता है
- सेट TAdoDataSet.LockType क्वेरी के अनुसार:
- ltकेवल पढ़ने के लिए प्रत्येक डेटासेट के लिए जिसका उपयोग संपादन (ग्रिड, रिपोर्ट) के लिए नहीं किया जाता है
- ltआशावादी जब रिकॉर्ड परिवर्तन के तुरंत बाद डेटाबेस में पोस्ट किए जाते हैं (उदाहरण के लिए उपयोगकर्ता प्रपत्र पर डेटा संपादित करना)
- ltBatchOptimistic जब आप बड़ी संख्या में रिकॉर्ड बदलते हैं। यह उन स्थितियों के लिए है जहां आप कई रिकॉर्ड प्राप्त करते हैं, फिर उन पर कुछ प्रसंस्करण करते हैं और फिर बैच में डेटाबेस को अपडेट भेजते हैं। यह clUseClient और ctStatic के साथ मिलकर सबसे अच्छा काम करता है।
- मेरे अनुभव में, Oracle के लिए Microsoft OLEDB प्रदाता Oracle OleDb प्रदाता से बेहतर काम करता है। आपको इसका परीक्षण करना चाहिए।
संपादित करें: संभावित ब्लॉब समस्याओं के बारे में फ़ैब्रिकियो की टिप्पणी देखें। - TAdoQUeryबदलें TAdoDataSet . के साथ . TAdoQuery को BDE से ADO में ऐप्स के रूपांतरण के लिए बनाया गया था, लेकिन Borland/Codegear अनुशंसा को TAdoDataSet का उपयोग करना था
- यह सुनिश्चित करने के लिए कि आपके पास नेटवर्क विलंबता नहीं है, Oracle कनेक्शन स्ट्रिंग को फिर से जांचें। Oracle से कनेक्ट होने में कितना समय लगता है? TnsPing कब तक है?