Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

RODBC में MySQL के लिए चारसेट कैसे सेट करें?

मैं ODBC और RODBC से परिचित नहीं हूँ , लेकिन दस्तावेज़ीकरण के उपरोक्त स्निपेट के बारे में मेरा पढ़ना यह है कि SET NAMES 'utf8'; MySQL के SQL बोली का हिस्सा है , ताकि आप उसे चला सकें जैसा कि आप किसी अन्य SQL कथन के साथ करेंगे जिसका उपयोग आप अपने डेटा बेस से डेटा पुनर्प्राप्त करने के लिए कर सकते हैं।

कुछ ऐसा (परीक्षण नहीं किया गया):

sqlQuery(myChannel, query = "SET NAMES 'utf8';")

जहां myChannel odbcConnect() द्वारा दिया गया कनेक्शन हैंडल है ।

क्या कोई कारण है कि आप RMySQL पैकेज पर RODBC का उपयोग कर रहे हैं? मुझे RMySQL का उपयोग व्यापक डेटा प्रोसेसिंग और डेटा के जटिल सेटों की पुनर्प्राप्ति के लिए R के भीतर से करने का अच्छा अनुभव है।

अपडेट करें: कुछ है। ए> सबूत कि, कम से कम एक बिंदु पर, कि SET NAMES MySQL ODBC ड्राइवर में निष्क्रिय कर दिया गया है। यदि आप आश्वस्त हैं कि आप डेटाबेस तक सीधे पहुंच के माध्यम से वर्णों को पढ़ सकते हैं (mysql . के माध्यम से) या MySQL के GUI फ्रंट एंड्स में से एक), तो आप SET NAMES . को दोहराने की कोशिश कर सकते हैं करता है। निम्नलिखित MySQL मैनुअल से है। :

A SET NAMES 'x' statement is equivalent to these three statements:

SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;

आप SET NAMES . के स्थान पर उन तीन SQL कथनों को निष्पादित करने का प्रयास कर सकते हैं और देखें कि क्या यह काम करता है।

वही मैनुअल SET CHARACTER SET . का भी दस्तावेजीकरण करता है , जिसका उपयोग उसी तरह किया जा सकता है जैसे SET NAMES :

SET CHARACTER SET charset_name

SET CHARACTER SET SET NAMES . के समान है लेकिन सेट करता है character_set_connection और collation_connection करने के लिए character_set_database और collation_database . ए SET CHARACTER SET x कथन इन तीन कथनों के बराबर है:

SET character_set_client = x;
SET character_set_results = x;
SET collation_connection = @@collation_database;

collation_connection सेट करना character_set_connection . भी सेट करता है संयोजन से जुड़े वर्ण सेट के लिए (SET character_set_connection = @@character_set_database निष्पादित करने के बराबर) ) character_set_connection . सेट करना जरूरी नहीं है स्पष्ट रूप से।

आप SET CHARACTER SET 'utf8' का उपयोग करके देख सकते हैं इसके बजाय।

अंत में, आप किस चरित्र सेट/लोकेल में चल रहे हैं? ऐसा लगता है कि आप विंडोज़ पर हैं - क्या यह UTF8 लोकेल है? मैंने आपके प्रश्न में कुछ भ्रम भी देखा है। आप कहते हैं कि आपने अपना डेटा एमएस एक्सेस में आयात किया है, और फिर इसे ओडीबीसी में निर्यात कर दिया है। क्या आपका मतलब है कि आपने इसे MySQL में निर्यात किया है? हालांकि मैं ओडीबीसी एक कनेक्शन ड्राइवर था जो डेटाबेस की एक श्रृंखला के साथ/के बीच संचार की अनुमति देता था, ऐसा कुछ नहीं जिसे आप "निर्यात" कर सकते थे।

क्या आप वास्तव में MySQL में डेटा हैं? क्या आप वहां से डेटा पढ़ने के लिए आरओडीबीसी के माध्यम से एमएस एक्सेस से कनेक्ट नहीं हो सके?

यदि डेटा MySQL में है, तो डेटाबेस से कनेक्ट करने और डेटा पढ़ने के लिए RMySQL पैकेज का उपयोग करने का प्रयास करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL क्लोन प्लगइन और एक्स्ट्राबैकअप के बीच एक तुलना

  2. एसक्यूएल क्वेरी का उपयोग कर तालिका में अंतिम पंक्ति हटाएं?

  3. Mysql में मौजूदा पंक्ति के कॉलम के मान में 1 कैसे जोड़ें

  4. रेल में आगामी जन्मदिन मॉड्यूल कैसे बनाएं?

  5. अभी सेट करें () डेटाटाइम डेटाटाइप के लिए डिफ़ॉल्ट मान के रूप में?