2008-11-16 17 views
5

डीबीडी, और ओरेकल मास्टर्स:मेरी पर्ल सीजीआई स्क्रिप्ट ओरेकल डीबीडी क्यों नहीं ढूंढ सकती?

मेरे पास एक पर्ल वेब एप्लिकेशन है जो विचित्र व्यवहार कर रहा है। मैं ओरेकल डीबी और रिपोर्ट से कुछ सामान पढ़ने के लिए इसका उपयोग कर रहा हूं। मेरे पास ओरेकल के तत्काल ग्राहक के संस्करण 11.1.0.6.0 स्थापित हैं। मैं WinXP पर चल रहा हूं और तत्काल ग्राहक स्थान पर पाथ पर्यावरण चर सेट है। मेरे पास मेरे वेबसर्वर के लिए अपाचे 2 है।

यहां समस्या है: जब मैं कमांड लाइन से ऐप चलाता हूं, तो यह बिना किसी झुकाव के काम करता है। हालांकि, जब मैं http://127.0.0.1/cgi-bin/a.cgi से चलाने के लिए, मैं निम्नलिखित डीबी पहुँच त्रुटि मिलती है:

install_driver(Oracle) failed: Can't load 'C:/usr/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load_file:The specified module could not be found at C:/usr/lib/DynaLoader.pm line 202. at (eval 9) line 3

अंतर्ज्ञान यह एक अनुमति मुद्दा है, लेकिन मैं आगे देखने के लिए जहां यकीन नहीं है मुझसे कहता है। क्या कोई इस पर रोशनी डाल सकता है? मैं किसी भी मदद की सराहना करता हूं।

धन्यवाद, Saker गनी

+0

क्या आप त्रुटि संदेश में उल्लिखित कॉल के लिए कोड प्रदान कर सकते हैं? – Svante

+0

और क्या अपाचे के त्रुटि लॉग पर कोई त्रुटि है? –

उत्तर

2

तथ्य यह है कि त्रुटि पता चलता है कि इस प्रणाली किसी भी DLL ढूंढने में कठिनाई हो नहीं है पता चलता .DLL का पूरा पथ, ताकि आपके सिद्धांत वापस करता है कि फाइल अनुमति हैं समस्या।

यह जांचने के लिए कि क्या यह वास्तव में एक अनुमति समस्या है, एक छोटी सी पर्ल सीजीआई स्क्रिप्ट लिखने का प्रयास करें जो कुछ भी नहीं करता है लेकिन सीधे उस विशिष्ट को खोलता है। डीएलएल फ़ाइल (सामान्य open कॉल के साथ) और रिपोर्ट करता है कि यह काम करता है या नहीं।

1

धन्यवाद Alnitak। मैंने आपके द्वारा सुझाए गए कार्यों को करने का प्रयास किया, और 'खुला' सफलतापूर्वक खोला गया 'सी: /usr/lib/auto/DBD/Oracle/Oracle.dll'। मुझे लगता है कि जब मैं एक अलग मशीन पर विकास कर रहा था, तो यह सटीक बग देख रहा था, लेकिन ऐसा इसलिए था क्योंकि ओरेकल इंस्टेंट क्लाइंट libs इस पर बढ़ रहे थे। मैंने उनको इंस्टॉल करने के बाद, और 'पथ' चर सेट किया, सब कुछ ठीक काम करना शुरू कर दिया।

1

मेरे पास एक ही समस्या है, जहां इंटरफ़ेस के माध्यम से सीजीआई पर्ल प्रोग्राम तक पहुंचने पर त्रुटि की रिपोर्टिंग की गई थी "Install_driver (Oracle) विफल: 'C:/Perl/lib/auto/DBD/Oracle/Oracle लोड नहीं हो सकता मॉड्यूल डीबीडी :: ओरेकल के लिए .dll ': ओरेकल: load_file: सी: /Perl/lib/DynaLoader.pm लाइन 201 पर एक्सेस अस्वीकार कर दी गई है "।

मैं आईआईएस 6.

साथ विंडो 2003 सर्वर पर Perl 5.10 का उपयोग कर रहा था संकल्प पर्ल निर्देशिका पर अनुमतियों को "सभी" के साथ-साथ ओरेकल पर फ़ोल्डर स्थापित करने के लिए देने के लिए किया गया था।

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