الاتصال بقاعدة بيانات الكتب السريعة عبر odbc باستخدام php؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

[يحرر]
نقوم بجمع بيانات طلبات الائتمان من المستخدمين في نموذج ويب.

لم أقم بربط نموذج الويب الخاص بي مباشرة بـ QB.

ليس لدي أي فكرة عن بنية جدول QB لهذه المجموعة من البيانات - ولا عن كيفية عرضها للمستخدم لأنني لم أعمل بشكل مباشر مع QB مطلقًا.لكن الآخرين في مكتبي يفعلون ذلك.


سأظل أقدر أي معلومات حول الخيارات مفتوحة المصدر/المجانية.


سأقوم بتبسيط المشكلة عن طريق إزالة الخيار الأول المطلوب.

دعنا نتحدث فقط عن استيراد ملف ثابت إلى الكتب السريعة.

ليس لدي نسخة من الكتب السريعة التي يمكنني اللعب بها، لذا ليس لدي أي فكرة عن الخيارات الموجودة الأصلية للكتب السريعة ولكني أرى بعض الأحاديث على الويب حول توقع QB ملف .ini للاستيراد.(لا أعرف التنسيق المتوقع حتى الآن، ولكنني سأعمل على حل ذلك لاحقًا)

يرجى مشاركة قصتك إذا تمكنت من استيراد ملف ثابت من MySQL إلى الكتب السريعة أو تعرف على الروابط التي تقدم نظرة ثاقبة (لا أجد الكثير الآن).
[انتهى التعديل]

أدرك أن هذا السيناريو ربما يكون غير شائع، ولكن أحتاج إلى الاتصال بقاعدة بيانات الكتب السريعة الموجودة بإحدى طريقتين.

1) إما مباشرة من برنامج PHP النصي الذي يعمل على موقعنا على شبكة الإنترنت - أدخل البيانات المقدمة من المستخدم مباشرة من الويب إلى الكتب السريعة.

أو

2) وضع بيانات المستخدم مباشرة في قاعدة بيانات MySQL ثم تصدير البيانات لاحقًا من MySQL إلى الكتب السريعة.

إذا كان الخيار الأول قابلاً للتطبيق، سأكون ممتنًا لأفكارك حول إنشاء اتصال odbc بقاعدة بيانات الكتب السريعة.

هل يمكنني القيام بذلك بشيء مثل:

try {
  $conn = @odbc_connect("DSNName", "", "", "SQL_CUR_USE_ODBC");
  // un and pw parameters are passed as empty strings since the DSN 
  // has knowledge of the password already.
  // 4th parameter is optional

  $exec = @odbc_exec($conn, $insert) or die ("exec error");
  echo "success!";
}
catch (Exception $e) {
  echo $e->getMessage();
} // end try catch
هل كانت مفيدة؟

المحلول

الخيار الثالث قد يناسبك.

الخيار 1 - QODBC: إذا كنت تبحث عن البساطة، فإن Qodbc كما ذكرنا سابقًا هو المنتج الرئيسي الذي يقوم بذلك، وهو يكلف مالًا.

الخيار 2 - Quickbooks SDK: إذا كنت موافقًا على العمل من خلال SDK واستخدام هياكل XML الخاصة بها، فيمكنك العثور على بعض الموارد الرائعة على شبكة المطورين.الحسابات مجانية لـ SDK ويمكنك العمل من خلالها بسهولة إلى حد ما.

يتلخص هذا في شيء واحد، إذا كنت تريده مجانًا، فقد لا تتمكن من الحصول عليه بطريقتك.QODBC بسعر معقول في آخر مرة قمت فيها بالتحقق.

الشيء الوحيد المهم الذي يجب أن تكون على دراية به في أي من الطريقتين هو التأكد من أن الجداول التي ترغب في كتابة البيانات فيها في Quickbooks متاحة بواسطة SDK وQODBC.

مع تقدم Quickbooks، اختفى الوصول إلى بعض الجداول.على سبيل المثال، ليس من الممكن الكتابة مباشرة إلى جدول استقطاعات الرواتب مباشرة لأنها تتنافس مع خدمة كشوف المرتبات من شركة Intuit.

الخيار 3 - معالجة SQL المباشرة: يقوم Intuit بتشفير بياناتهم في بيانات SQL الخاصة بهم مما يجعلها غير متاحة للوصول المباشر.

يحرر:الخيار 4 - رابط ويب Quickbooks غلاف SOAP الموجود على الكمبيوتر مع Quickbooks ويتفاعل معه نيابةً عنك.مجاني أيضًا.

حظ سعيد!

نصائح أخرى

إذا كنت تريد الوصول إلى ODBC، فإن QODBC هو خيارك الوحيد.

تستخدم الإصدارات الأحدث من QuickBooks Enterprise Edition قاعدة بيانات SQL خلفية، ولكنها لا تسمح لك بالوصول مباشرة إلى جداول SQL.يقومون بإغلاق قاعدة البيانات بحيث لا يمكنك الاستعلام عن أي من البيانات.

يعد AccessBooks خيارًا آخر، والذي يعكس البيانات من QuickBooks إلى MySQL، ومن ثم يمكنه دفع البيانات مرة أخرى إلى QuickBooks أيضًا.لقد سمعت أنه يمكن أن يكون قشاري بعض الشيء.

يمكنك استخدام QuickBooks SDK وجعله يفعل أي شيء تقريبًا يمكنك القيام به في واجهة المستخدم الرسومية لـ QuickBooks، ولكنه يتطلب المزيد من العمل.إذا كنت تقوم بدمج تطبيق ويب مع QuickBooks، فستحتاج إلى استخدام Web Connector.أنا مطور إطار عمل QuickBooks/PHP وهو مستقر وشائع جدًا، ومن المحتمل أن يكون مفيدًا لك:

https://idnforums.intuit.com/messageview.aspx?catid=56&threadid=9164

أنا في منتصف إضافة دعم لعكس مخطط QB بأكمله إلى قاعدة بيانات، وإبقائه متزامنًا، ثم السماح بدفع التغييرات مرة أخرى إلى QuickBooks.العمل لم يقترب من الاكتمال بعد بالرغم من ذلك.يقوم حاليًا بسحب البيانات من QuickBooks ويبقيها متزامنة بشكل جيد.

يمكنك أيضًا استيراد ملفات IIF إلى QuickBooks، ولكنه الآن تنسيق غير مدعوم ومهمل بواسطة Intuit.يوصون بشدة بعدم استخدامه، وإليك بعض الأسباب وراء ذلك:http://wiki.consolibyte.com/wiki/doku.php/quickbooks_integration_methods

ربما تكون قد شاهدت هذا بالفعل، ولكن إذا لم تكن قد شاهدته، فسوف ترغب في إلقاء نظرة لأنه يبدو أنه يوفر المتطلبات وتعليمات الإعداد ونموذج التعليمات البرمجية للسيناريو الأول.

http://www.qodbc.com/QODBCweb.htm

لست متأكدًا بالضبط من الهدف الذي سيتم تحقيقه من الاستيراد:ما نوع المعاملات التي تدفعها إلى الدفاتر السريعة؟

لقد حققت نجاحًا كبيرًا في استخدام QuickBooks SDK لدفع البيانات إلى الكتب السريعة، وخاصة بيانات المعاملات بحيث يتم التعامل مع أشياء مثل التسويات والنشر وما إلى ذلك بواسطة الكتب السريعة نفسها.هل هذا خيار متاح لك؟

يمكنك الحصول على الكثير من معلومات عن SDK هنا

مع QuickBooks Enterprise 2011، تغير هذا، ويمكنك الحصول على وصول حقيقي إلى ODBC (على الرغم من الحقوق المحدودة وإلى عدد محدود من الجداول) ثم استخدام أداة SQL للتعيين عبر الوصول إلى ODBC.

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