पर निर्दिष्ट लाइब्रेरी नहीं खोल सकता है, मैं ArchLinux का उपयोग कर रहा हूं और मैं OpenEdge प्रगति ड्राइवर स्थापित करने का प्रयास कर रहा हूं ताकि मैं इसे PHP के माध्यम से एक्सेस कर सकूं। मैं unixodbc पैकेज और ड्राइवरों स्थापित किया है, लेकिन जब मैं isql या PHP के माध्यम से कनेक्शन का परीक्षण, मैं एक ही त्रुटि मिलती है ...unixodbc ड्राइवर प्रबंधक
# isql -3 SUBS2A
[01000][unixODBC][Driver Manager]Can't open lib '/usr/dlc/odbc/lib/pgoe1023.so' : file not found
[ISQL]ERROR: Could not SQLConnect
में गड़बड़ बात यह है कि "/ usr/डीएलसी/ODBC है /lib/pgoe1023.so "वर्तमान में मौजूद है, मैंने इसे"/usr/dlc "से भी सिम्लिंक किया है।
निम्नलिखित मेरी .ini फ़ाइलों
odbc.ini
[SUBS2A]
Description = ODBC Driver for Progress
Driver = /usr/dlc/odbc/lib/pgoe1023.so
FileUsage = 1
odbcinst.ini रहे हैं ... (मैं साख में से कुछ को हटा दिया के रूप में यह अप्रासंगिक है)
[ODBC-test]
Description = SUBS2A
Driver = SUBS2A
Server = 192.168.1.2
Port = 4000
APILevel=1
ConnectFunctions=YYN
CPTimeout=60
DriverODBCVer=03.60
FileUsage=0
SQLLevel=0
UsageCount=1
ArraySize=50
DefaultLongDataBuffLen=2048
DefaultIsolationLevel= READ COMMITTED
StaticCursorLongColBuffLen=4096
EDIT अधिक जानकारी जोड़ना ...
था आईपी 32-बिट दोनों दिखाई देती है, सिवाय इसके कि मुझे नहीं पता कि मैं इसके बारे में क्या कर रहा हूं।
[[email protected] etc]# file /usr/bin/isql
/usr/bin/isql: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.27, BuildID[sha1]=0xd1bc16c119 bb5cad6fea9e2a9abc1d06794a2775, stripped
[[email protected] etc]# file /usr/dlc/odbc/lib/pgoe1023.so
/usr/dlc/odbc/lib/pgoe1023.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
ऐसा लगता है कि यह कुछ निर्भरता याद आ रही है ...
[[email protected] lib]# ldd pgoe1023.so
linux-gate.so.1 => (0xb77c2000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7499000)
librt.so.1 => /lib/librt.so.1 (0xb7490000)
libpgicu23.so => not found
libdl.so.2 => /lib/libdl.so.2 (0xb748b000)
libstdc++-libc6.2-2.so.3 => not found
libm.so.6 => /lib/libm.so.6 (0xb745e000)
libc.so.6 => /lib/libc.so.6 (0xb72bc000)
/lib/ld-linux.so.2 (0xb77c3000)
अद्यतन
मैं/usr/lib करने के लिए "libpgicu23.so" की नकल की और यह कि समस्या हल हो, लेकिन मुझे अभी भी "libstdC++ - libc6.2-2.so.3" की आवश्यकता है, लेकिन जब मैंने इंटरनेट से एक को पकड़ लिया तो उसने कहा "साझा पुस्तकालयों को लोड करते समय त्रुटि: /usr/lib/libstdc++-libc6.2-2.so। 3: ईएलएफ फाइल ओएस एबीआई अमान्य "
मैंने वास्तव में "libstdC++ - libc6.2-2.so.3" से "libstdC++।" से एक सिम्लिंक भी बनाया है, लेकिन यह समस्या के हल होने के बावजूद समस्या के हल होने के बावजूद, यह त्रुटि आई है जब मैंने isql queried ..
isql: symbol lookup error: /usr/dlc/odbc/lib/pgoe1023.so: undefined symbol: __builtin_vec_new
मैंने कभी * * निक्स बॉक्स पर ओडीबीसी स्थापित नहीं किया है, लेकिन हमने विंडोज़ बॉक्स पर भी यही काम किया है और यह ठीक काम करता है। किसी भी इनपुट की सराहना की।
ठीक है मैंने अधिक जानकारी के साथ अपने प्रश्न में एक संपादन किया है। यह अजीब है क्योंकि मेरे पास वास्तव में आईएनआई फाइलें विपरीत थीं, हालांकि जब मैं उन्हें उलट देता हूं, तो त्रुटि खराब हो जाती है (कहती है कि यह डीएसएन/ड्राइवर नहीं ढूंढ सकता)। हालांकि जब मैं अजीब दौड़ता हूं, तो मुझे कुछ लापता निर्भरता मिलती है, इसलिए मैं इसे ठीक करने की कोशिश करने जा रहा हूं, मुझे ऐसा कुछ मिला जो मुझे लगता है कि यहां मदद कर सकती है: http://remidian.com/progress/progress-openedge-database-101b -install-on-centos-rhel.html – PolishHurricane
आमतौर पर यह कोई एहसास नहीं होगा कि आपने आईएनआई फाइलों को गलत तरीके से फाइल किया है, लेकिन यूनिक्सोडबीसी आपको ड्राइवर = XXX निर्दिष्ट करने की अनुमति देता है जहां XXX odbcint.ini या ड्राइवर में प्रविष्टि है = path_to_shared_object आप इसके साथ चले गए। तथ्य यह है कि सबकुछ 32 बिट अच्छा है, फिर भी, आप अपनी लापता निर्भरता पुनः करते हैं, आप जो भी कर चुके हैं वह नहीं कर सकते हैं और इसे काम करने की उम्मीद करते हैं। एबीआई अमान्य बताता है कि आपने एक असंगत साझा ऑब्जेक्ट स्थापित किया है। यह उतना आसान नहीं है जितना। – bohica