2012-03-15 17 views
7

मैं एप्पल के EPFImporter उपकरण http://www.apple.com/itunes/affiliates/resources/documentation/epfimporter.htmlEPFImporter तालिका लेकिन आयात कुछ भी नहीं

यह Python स्क्रिप्ट है जो अंतरिक्ष में ले जाएगा ईपीएफ फ़ाइल सूचियों अलग है और उन्हें अपने डेटाबेस में आयात का उपयोग कर रहा पैदा करता है।

यहाँ मैं क्या है:

Braden-Keiths-MacBook-Pro:~ bradenkeith$ ./EPFImporter.py /Users/bradenkeith/Downloads/popularity20120314 

यहाँ CLI देता है:

2012-03-14 22:12:28,748 [INFO]: Beginning import for the following directories: 
    /Users/bradenkeith/Downloads/popularity20120314 
2012-03-14 22:12:28,748 [INFO]: Importing files in /Users/bradenkeith/Downloads/popularity20120314 
2012-03-14 22:12:28,749 [INFO]: Starting import of /Users/bradenkeith/Downloads/popularity20120314... 
2012-03-14 22:12:28,749 [INFO]: Beginning full ingest of epf_application_popularity_per_genre (2000491 records) 
2012-03-14 22:14:28,774 [INFO]: ...at record 1797000... 
2012-03-14 22:16:02,152 [INFO]: Full ingest of epf_application_popularity_per_genre took 0:03:33.402408 
2012-03-14 22:16:02,196 [INFO]: Import of popularity20120314 completed at: 12-03-14 22:16:02 
2012-03-14 22:16:02,196 [INFO]: Total import time for popularity20120314: 0:03:33.44 
2012-03-14 22:16:02,196 [INFO]: Total import time for all directories: 0:03:33.44 

उपकरण डेटाबेस निर्माण करने में सक्षम था। यह सिर्फ डेटाबेस में से कोई भी प्रविष्टि नहीं जोड़ देगा। यह स्पष्ट रूप से 2 मिली + रिकॉर्ड देखता है, और उनके माध्यम से समय को जोड़ता है ... रिक्त तालिकाओं को हटा रहा है और विलय कर रहा है ... लेकिन यह बस है - टेबल अभी भी खाली हैं। मैंने सोचा कि यह संभवतः mySQL के साथ एक अनुमति है। मैंने दोबारा जांच की और सुनिश्चित किया कि मैं जिस उपयोगकर्ता खाते का उपयोग कर रहा था, उसे सब कुछ दिया गया था। अब तक कुछ भी नहीं।

यह क्या हो सकता है इसके बारे में कोई विचार?

+0

क्या आपने इसे हल किया? मुझे एक ही समस्या मिल रही है लेकिन ऑटोकॉमिट बदलना मेरे लिए काम नहीं कर रहा है, जैसा कि maxperreault द्वारा सुझाया गया है। – Tonester

+0

मेरे लिए काम करना प्रतीत होता है जो उपयोगकर्ता/उपयोगकर्ता नाम/.python-अंडे/प्रति http://stackoverflow.com/questions/3061277/python-mysql-wrong-architecture-error में जो कुछ भी है, उसे हटाना है। एम सोच रहा है कि mysql स्थापित या कुछ के विभिन्न बिट्स थे ... कुछ लाइब्रेरी गलत बिट मोड में थी। लेकिन वहां पर कैश किए गए कार्यों को हटाने के बाद यह मेरे लिए काम करता था। – bradenkeith

+0

मेरे पास वापस आने के लिए धन्यवाद। यह दुर्भाग्य से मेरे लिए काम नहीं करता है, लेकिन हो सकता है कि एक नया इंस्टॉल अगला कदम है। – Tonester

उत्तर

6

ईपीएफआईपोर्टर 2010 में बनाया गया था। उस समय, MySQLdb का नवीनतम संस्करण ऑटोोकॉमिट को सत्य पर सेट करता था। आप जिस MySQLdb का उपयोग कर रहे हैं उसका संस्करण संभवतः एक नया संस्करण है जहां autocommit को गलत पर सेट किया गया है।

+0

यह मेरे मामले में बिल्कुल समस्या थी। समाधान यह है कि आपने यहां उल्लिखित वैश्विक ऑटोोकॉमिट ध्वज को सही पर सेट किया है, अन्यथा @Chris Nilsson द्वारा दिए गए उत्तर में दिए गए समाधान का पालन करें –

11

आप इसे के अनुसार EPFIngester.py बदलकर काम करने के लिए प्राप्त कर सकते हैं: जबकि पाश के भीतर

  1. ढूँढें समारोह

    def _populateTable(self, tableName, resumeNum=0, 
    isIncremental=False, skipKeyViolators=False): 
    
  2. समारोह में, लगता है पंक्ति:

    cur = conn.cursor() 
    
  3. इसके तहत डालें:

    cur.connection.autocommit(True) 
    

बदल स्रोत दिखना चाहिए:

... 
cur = conn.cursor() 
cur.connection.autocommit(True) 
colVals = unicode(", ".join(stringList), 'utf-8') 
.... 
0

क्या भंडारण इंजन आप प्रयोग कर रहे हैं? बिल्कुल वही समस्या थी। स्टोरेज इंजन को इनो डीबी से माईसाम में स्विच करने से इसे हल किया गया।

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