लिनक्स फेडोरा - RODBC द्वारा उपयोग के लिए लोकलहोस्ट पर चल रहे MySQL उदाहरण में डेटाबेस का DSN कैसे बनाया जाए?


0

कुछ पूर्वापेक्षाएँ -

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 सर्वर शुरू कर दिया।

जब मैंने ऊपर के समान आर कमांड चलाने की कोशिश की, तो मुझे वही परिणाम मिले।

जवाबों:


0

मैं CentOS 6.3 पर आपके मुद्दे को पुन: पेश करने में सक्षम था। उसके बाद, मैंने mysql-कनेक्टर-odbc पैकेज स्थापित किया: yum install mysql-connector-odbcऔर यह तब MySQL डेटाबेस से कनेक्ट करने में सक्षम था। सबसे पहले, जो आपने मैन्युअल रूप से जोड़ा है उसे हटा दें /etc/odbcinst.iniऔर फिर mysql-कनेक्टर-ओडबेक स्थापित करें, जो /etc/odbcinst.iniआपके लिए अपडेट होगा । एक शॉट दें और अपनी स्क्रिप्ट को फिर से चलाएं, तो हमें बताएं कि क्या समस्या अभी भी हो रही है।

इसके अलावा, ऐसा लगता है कि कुछ असंगत पैकेज स्थापित हैं। यदि आपके पास कोई भी है जो MySQL- (mysql.com से) के साथ शुरू होता है (साथ की जाँच करें rpm -qa | grep -i mysql), उन्हें हटा दें और उन लोगों को स्थापित करें जो मानक वितरण yum रिपॉजिटरी का हिस्सा हैं। आपको बस उन सभी को हटाने की आवश्यकता हो सकती है और फिर आपको जो चाहिए उसे स्थापित करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.