أفضل طريقة لاستخراج البيانات من قاعدة بيانات FileMaker Pro في برنامج نصي؟

StackOverflow https://stackoverflow.com/questions/28668

سؤال

ستكون مهمتي أسهل، أو على الأقل أقل إرهاقًا إذا تمكنت من التوصل إلى طريقة آلية (يفضل أن تكون في برنامج Python النصي) لاستخراج معلومات مفيدة من قاعدة بيانات FileMaker Pro.أنا أعمل على جهاز Linux وقاعدة بيانات FileMaker موجودة على نفس الشبكة المحلية التي تعمل على جهاز OS X.يمكنني تسجيل الدخول إلى واجهة webby من جهازي.

أنا جيد جدًا في استخدام SQL، وإذا كان بإمكان أي شخص أن يوجهني إلى بعض المكونات الإضافية لـ FileMaker والتي يمكن أن تمنحني وصول SQL إلى البيانات الموجودة داخل FileMaker، سأكون سعيدًا بذلك.كل ما وجدته يسير في الاتجاه الآخر فقط:جعل FileMaker يحصل على البيانات من مصادر SQL.غير مفيدة.

إنه ليس خياري الأول، ولكنني سأستخدم لغة Perl بدلاً من لغة Python إذا كان هناك حل Perl-y في متناول اليد.

ملحوظة:خدمات XML/XSLT (كما يقترح بعض الأشخاص) متاحة فقط على FM Server، وليس FM Pro.وإلا، فمن المحتمل أن يكون هذا هو الحل الأفضل.أصبح ODBC أمرًا صعبًا للغاية حتى في العمل.لا توجد أي تعليقات على الإطلاق من FM عند إعداده، لذا يتعين عليك البحث في /var/log/system.log وتحليل رسائل الخطأ الغامضة.

خاتمة:لقد نجحت في ذلك عن طريق تشغيل برنامج نصي بلغة python محليًا على الجهاز الذي يستعلم عن قاعدة بيانات FM من خلال اتصالات ODBC.البرنامج النصي هو في الواقع TCPServer الذي يقبل اتصالات مأخذ التوصيل من الأنظمة الأخرى على الشبكة المحلية، ويقوم بتشغيل الاستعلامات، ويعيد البيانات من خلال اتصال مأخذ التوصيل.اضطررت إلى القيام بذلك لتجاوز حقيقة أن FM Pro لا يقبل سوى اتصالات ODBC محليًا (يلزم خادم FM للاتصالات الخارجية).

هل كانت مفيدة؟

المحلول

لقد كان أ حقًا منذ وقت طويل منذ أن فعلت أي شيء باستخدام FileMaker Pro، لكنني أعلم أنه يتمتع بإمكانيات إجراء اتصال ODBC (و JDBC) به (ومع ذلك، لا أعرف كيف، أو ما إذا كان ذلك يترجم إلى Linux/ عالم بيرل/بايثون بالرغم من ذلك).

توضح هذه المقالة كيفية مشاركة/كشف بيانات FileMaker الخاصة بك عبر ODBC وJDBC:
مشاركة بيانات FileMaker Pro عبر ODBC أو JDBC

ومن هناك، إذا كنت قادرًا على إنشاء اتصال ODBC/JDBC، فيمكنك الاستعلام عن البيانات حسب الحاجة.

نصائح أخرى

ستحتاج إلى القرص المضغوط الخاص بتثبيت FileMaker Pro للحصول على برامج التشغيل. هذا المستند تفاصيل عملية FMP 9 - وهي مماثلة للإصدارات 7.x و8.x أيضًا.الإصدارات 6.x والإصدارات السابقة مختلفة تمامًا ولن أزعج نفسي بالمحاولة (دعم xDBC في تلك الإصدارات السابقة هو "الحد الأدنى" في أحسن الأحوال).

يدعم FMP 9 بناء جملة SQL-92 القياسي (في الغالب).لاحظ أنه بدلاً من الاستعلام عن الجداول مباشرة، يمكنك الاستعلام باستخدام اسم "تواجد الجدول" الذي يعمل كاسم مستعار للجدول من نوع ما.إذا تم تخزين جداول البيانات في ملفات متعددة فمن الممكن إنشاء ملف FMP واحد مع تكرارات الجدول/الأسماء المستعارة التي تشير إلى جداول البيانات تلك.هناك "ميزة غير موثقة" حيث يجب أن يحتوي هذا الملف على جدول محدد فيه أيضًا وأن يكون هذا الجدول "مرتبطًا" بأي جدول آخر في الرسم البياني للعلاقات (لا يهم أي جدول) حتى يعمل الوصول إلى ODBC.وإلا فلن ترجع استفساراتك دائمًا أي نتائج.

يوضح مستند PDF جميع القيود المفروضة على استخدام واجهة xDBC التي يوفرها FMP.أداء الاستعلامات البسيطة سريع بشكل معقول، ymmv.لقد وجدت أن أداء الاستعلامات التي تحدد عامل التشغيل "LIKE" أقل من ممتاز.

يحتوي FMP أيضًا على واجهة XML/XSLT التي يمكنك استخدامها للاستعلام عن بيانات FMP عبر اتصال HTTP.كما يوفر أيضًا فئة PHP للوصول إلى بيانات FMP واستخدامها في تطبيقات الويب.

إذا كنت تميل إلى لغة Python، فقد تكون مهتمًا بمراجعة Python Wrapper for Filemaker.وهو يوفر وصولاً ثنائي الاتجاه إلى بيانات Filemaker عبر خدمات XML المضمنة في Filemaker.يمكنك العثور على بعض المعلومات الشاملة حول هذا على:

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top