2010-03-24 24 views
11

से अलग है, मैं mysqlimport के साथ खेल रहा हूं और मैंने उस प्रतिबंध में भाग लिया है जहां फ़ाइल नाम तालिका नाम के समान होना चाहिए। क्या इस के आसपास काम करने का कोई तरीका है?mysqlimport का उपयोग जहां फ़ाइल नाम तालिका नाम

मैं फ़ाइल का नाम बदल नहीं सकता क्योंकि यह अन्य प्रक्रियाओं द्वारा उपयोग किया जाता है और मैं फ़ाइल की प्रतिलिपि नहीं बनाना चाहता क्योंकि उनमें से कई होंगे, कुछ बहुत बड़े हैं।

मैं mysqlimport का उपयोग नहीं करना चाहता LOAD INFILE।

संपादित करें: दुर्भाग्यवश इसे विंडोज़ पर चलने की जरूरत है ताकि प्रतीकात्मक लिंक के साथ कोई चाल न हो।

+0

आप 'लोड डेटा इन्फाइल' का उपयोग क्यों नहीं करना चाहते हैं, जब यह mysqlimport के समान होता है और यह आपको किसी दिए गए इनपुट फ़ाइल के लिए एक अलग तालिका नाम निर्दिष्ट करने की अनुमति देता है? –

+0

मैं जावा/जेडीबीसी का उपयोग कर रहा हूं और लोड इन्फ्लू का आह्वान करता हूं, कुछ स्थितियों में फ़ाइल लोड करने में कोई समस्या होने पर कोई त्रुटि उत्पन्न नहीं होती है। यदि आप वर्कबेंच के माध्यम से इसे चलाते हैं तो आपको चेतावनी प्रदर्शित होती है लेकिन जेडीबीसी चालक मुझे कुछ भी वापस नहीं देता है। –

+0

mysqlimport को पैरामीटर को एक अलग टेबल नाम सेट करने की अनुमति देनी चाहिए, यह एक मूलभूत विशेषता है ... – baptx

उत्तर

0

क्या आपने alias कमांड का उपयोग करने का प्रयास किया है, मान लीजिए कि आप एक लिनक्स सिस्टम पर हैं?

ln -s /tmp/real_file.txt /tmp/your_table_name.txt 
-1

बस एक प्रतीकात्मक कड़ी बना सकते हैं।

ln -s filename.txt tablename.txt 

फिर उस का उपयोग mysqlimport आदेश में: यूनिक्स पर आप फाइल करने के लिए एक प्रतीकात्मक कड़ी बना सकते हैं।

लेकिन mysqlimport INFILE लोड करने के लिए तो आप भी कमांड लाइन पर ऐसा कर सकता है सिर्फ एक कमांड लाइन इंटरफेस है:

mysql -e "load data infile 'filename' into table TBL_NAME" dbname 
11

आप यह नहीं कहा क्या मंच आप पर कर रहे हैं:

+0

डर है कि मैं विंडोज़ पर हूं। –

+0

आप अभी भी उसी वाक्यविन्यास वाले विंडोज़ पर mysql का उपयोग कर सकते हैं .. फ़ाइलों को सिंक्रनाइज़ करना इसे करने का एक अजीब तरीका है। –

-1

mysqlimport तालिका जिसमें डेटा होना चाहिए के नाम निर्धारित करने के लिए फ़ाइल नाम का उपयोग लदा हुआ। कार्यक्रम यह किसी भी फ़ाइल नाम एक्सटेंशन (अंतिम अवधि और उसके बाद कुछ भी) को अलग करके इसे करता है; परिणाम तब टेबल नाम के रूप में प्रयोग किया जाता है। उदाहरण के लिए, Mysqlimport City.txt या City.dat नाम की एक फ़ाइल का उपयोग करता है जिसे इनपुट नामक तालिका में लोड किया जाता है।