कुछ पूर्वापेक्षाएँ -
OS: फेडोरा रिलीज़ 16 (वर्ने)
MySQL सर्वर संस्करण: 5.5.29 MySQL सामुदायिक सर्वर
आर संस्करण: 2.15.1 (2012-06-22) - "रोस्टेड मार्शमॉलो"
मैं एक MySQL सर्वर चला रहा हूं जो स्थानीय होस्ट (127.0.0.1) पर होस्ट किया गया है।
मैं आर स्क्रिप्ट का उपयोग किया है RODBC
पुस्तकालय और करने के लिए एक डेटा स्रोत नाम (DSN) पारित करने में सक्षम होना चाहते हैं odbcConnect()
के समारोह ODBC
।
कुछ गोग्लिंग के बाद (कुछ पेज हैं जो एक लिनक्स ओएस पर MS SQL Server
डीएसएन के साथ सौदा करते हैं RODBC
), मुझे लगता है कि मुझे कॉन्फ़िगरेशन फ़ाइल को पॉप्युलेट करने की आवश्यकता है /etc/odbc.ini
। वर्तमान में, यहाँ फ़ाइल सामग्री हैं:
[ODBC Data Sources]
myDSN = MySQL
[myDSN]
Description = my Data Source Name
Driver = MySQL
UID = root
PWD = *password*
Port = 3306
Database = my_database
मैंने यह भी पढ़ा है कि उपरोक्त फ़ाइल में ड्राइवर का मान बताता है /etc/odbcinst.ini
। यहाँ इसकी सामग्री हैं:
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
Driver64 = /usr/lib64/libmyodbc5.so
Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
फिर भी, जब मैं R चलाता हूं, मुझे एक त्रुटि संदेश प्राप्त होता है।
> library(RODBC)
> cn <- odbcConnect('myDSN')
Warning messages:
1: In odbcDriverConnect("DSN=myDSN") :
[RODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib '/usr/lib/libmyodbc5.so' : file not found
2: In odbcDriverConnect("DSN=myDSN") : ODBC connection failed
मैंने सत्यापित किया है कि फ़ाइल /usr/lib/libmyodbc5.so
मौजूद है। यह वास्तव में एक कड़ी है /usr/lib/libmyodbc5-5.1.8.so
; मैंने इस फ़ाइल का नाम बदलने की कोशिश की है Driver
, /etc/odbcinst.ini
लेकिन आर से वही त्रुटि प्राप्त की।
उपयोगRODBC
करते हुए भी मैं यह काम कैसे कर सकता हूं ?
===== अद्यतन =====
मैंने जो कुछ मैंने मैन्युअल रूप से /etc/odbcinst.ini में जोड़ा था उसे हटा दिया और फिर निम्नलिखित चरणों के साथ आगे बढ़ा।
मैंने स्थापित करने की कोशिश की mysql-connector-odbc
, लेकिन बताया गया कि यह पहले से ही स्थापित है। तो मैं अपने MySQL सर्वर बंद कर दिया, हटाया mysql-connector-odbc
पैकेज के साथ sudo yum remove mysql-connector-odbc
, फिर से स्थापितmysql-connector-odbc
पैकेज, और MySQL सर्वर शुरू कर दिया।
जब मैंने ऊपर के समान आर कमांड चलाने की कोशिश की, तो मुझे वही परिणाम मिले।