2008-08-26 16 views
8

यदि मैं एक फ़ाइलमेकर प्रो डेटाबेस से उपयोगी जानकारी निकालने के लिए स्वचालित तरीके से (पाइथन लिपि में) के साथ आ सकता हूं तो मेरा काम आसान होगा, या कम से कम कम कठिन होगा। मैं लिनक्स मशीन पर काम कर रहा हूं और फाइलमेकर डेटाबेस ओएस एक्स मशीन पर चल रहे एक ही लैन पर है। मैं अपनी मशीन से वेबबी इंटरफ़ेस में लॉग इन कर सकता हूं।किसी स्क्रिप्ट में फ़ाइलमेकर प्रो डेटाबेस से डेटा निकालने का सबसे अच्छा तरीका?

मैं एसक्यूएल के साथ काफी आसान हूं, और अगर कोई मुझे कुछ फाइलमेकर प्लग-इन में इंगित कर सकता है जो मुझे फाइलमेकर के भीतर डेटा तक एसक्यूएल पहुंच दे सकता है, तो मुझे पंच के रूप में प्रसन्नता होगी। जो कुछ भी मैंने पाया है वह केवल दूसरा तरीका है: फाइलमेकर को SQL स्रोतों से डेटा प्राप्त करना। उपयोगी नहीं।

यह मेरी पहली पसंद नहीं है, लेकिन अगर मैं एक पर्ल-वाई समाधान था तो मैं पाइथन के बजाय पर्ल का उपयोग करूंगा।

नोट: एक्सएमएल/एक्सएसएलटी सेवाएं (जैसा कि कुछ लोगों द्वारा सुझाया गया है) केवल एफएम सर्वर पर उपलब्ध नहीं है, एफएम प्रो नहीं। अन्यथा, यह शायद सबसे अच्छा समाधान होगा। ओडीबीसी भी काम करने के लिए बेहद मुश्किल हो रहा है। जब आप इसे सेट अप करते हैं तो एफएम से बिल्कुल शून्य प्रतिक्रिया होती है, इसलिए आपको /var/log/system.log और पार्स अस्पष्ट त्रुटि संदेशों के माध्यम से खोदना होगा।

निष्कर्ष: मुझे यह मशीन पर स्थानीय रूप से एक पायथन स्क्रिप्ट चलाकर काम कर रहा है जो ओडीबीसी कनेक्शन के माध्यम से एफएम डेटाबेस से पूछताछ करता है। लिपि वास्तव में एक टीसीपीएस सर्वर है जो लैन पर अन्य सिस्टम से सॉकेट कनेक्शन स्वीकार करता है, क्वेरी चलाता है, और सॉकेट कनेक्शन के माध्यम से डेटा देता है। मुझे यह तथ्य बाईपास करना था कि एफएम प्रो केवल स्थानीय स्तर पर ओडीबीसी कनेक्शन स्वीकार करता है (बाहरी कनेक्शन के लिए एफएम सर्वर आवश्यक है)।

उत्तर

5

यह एक वास्तव में लंबे समय के बाद से मैं के साथ FileMaker प्रो कुछ भी किया है, लेकिन मैं जानता हूँ कि यह (करने के लिए किए जाने के लिए एक ODBC (और JDBC) कनेक्शन के लिए क्षमताओं है कि हालांकि, मैं नहीं जानता कि कैसे, या अगर, लिनक्स/पर्ल/पायथन दुनिया में अनुवाद करता है)।

यह लेख दिखाता है कि कैसे साझा/& JDBC ODBC के माध्यम से अपने FileMaker डेटा का पर्दाफाश करने के:
Sharing FileMaker Pro data via ODBC or JDBC

वहाँ से, अगर आप एक ODBC/JDBC कनेक्शन आप आवश्यकतानुसार डेटा बाहर क्वेरी सकता है बना सकते हैं।

3

ड्राइवरों को प्राप्त करने के लिए आपको फ़ाइलमेकर प्रो स्थापना सीडी की आवश्यकता होगी। This document एफएमपी 9 के लिए प्रक्रिया का विवरण - यह संस्करण 7.x और 8.x के लिए भी समान है। संस्करण 6.x और पहले पूरी तरह से अलग हैं और मैं कोशिश करने से परेशान नहीं होगा (उन पिछले संस्करणों में xDBC समर्थन सर्वोत्तम रूप से "न्यूनतम" है)।

एफएमपी 9 एसक्यूएल-9 2 मानक वाक्यविन्यास (ज्यादातर) का समर्थन करता है। ध्यान दें कि तालिकाओं की क्वेरी करने के बजाय आप सीधे "टेबल घटना" नाम का उपयोग करके क्वेरी करते हैं जो कि प्रकार के तालिका उपनाम के रूप में कार्य करता है। यदि डेटा टेबल एकाधिक फ़ाइलों में संग्रहीत किया जाता है तो उन डेटा तालिकाओं को इंगित करने वाली तालिका घटनाओं/उपनामों के साथ एक एकल FMP फ़ाइल बनाना संभव है। एक "अनियंत्रित सुविधा" है जहां ऐसी फ़ाइल में उस तालिका में परिभाषित तालिका होनी चाहिए और उस तालिका को ओडीबीसी के काम के लिए रिलेशनशिप ग्राफ पर किसी भी अन्य तालिका में "संबंधित" होना चाहिए (इससे कोई फर्क नहीं पड़ता)। अन्यथा आपके प्रश्न हमेशा कोई परिणाम नहीं देंगे।

पीडीएफ दस्तावेज विवरण xDBC इंटरफेस एफएमपी का उपयोग करने की सभी सीमाओं का विवरण देता है। सरल प्रश्नों का प्रदर्शन उचित रूप से तेज़ है, ymmv। मुझे "LIKE" ऑपरेटर को तारकीय से कम होने के लिए निर्दिष्ट प्रश्नों का प्रदर्शन मिला है।

एफएमपी में एक एक्सएमएल/एक्सएसएलटी इंटरफेस भी है जिसका उपयोग आप HTTP कनेक्शन पर एफएमपी डेटा पूछने के लिए कर सकते हैं।यह वेब अनुप्रयोगों में एफएमपी डेटा तक पहुंचने और उपयोग करने के लिए एक PHP कक्षा भी प्रदान करता है।

2

यदि आपका झुकाव पायथन है, तो आप फ़ाइलमेकर के लिए पाइथन रैपर की जांच करने में रुचि ले सकते हैं। यह फाइलमेकर की अंतर्निहित XML सेवाओं के माध्यम से फ़ाइलमेकर डेटा तक दो तरह की पहुंच प्रदान करता है। आप इस पर कुछ पूरी तरह से जानकारी प्राप्त कर सकते हैं:

http://code.google.com/p/pyfilemaker/