سؤال

يجب تطبيق قديم (مكتوب في دلفي 6) يجب أن يكون استدار إلى دلفي 2006 (تحديث 2).التطبيق يستخدم للاتصال ينترباسي 6.x بيانات باستخدام DBExpress ، ولكن الإصدار الجديد يحتاج للاتصال فايربيرد 2.x Superserver.

ترقية ذهب طيب, لا مشاكل حقيقية.ولكن الآن عندما أحاول الاتصال الجديدة فايربيرد الخادم من استدار التطبيق ، أحصل على الخطأ التالي:

خطأ في قاعدة البيانات خطأ ملقم قاعدة بيانات:رقم السجل الحالي على عملية إحضار

تشغيل نفس التطبيق المترجمة مع دلفي 6 ، يتحدث إلى نفسه فايربيرد الخادم يعمل بشكل جيد.التغييرات اللازمة لتجميع التطبيق في دلفي 2006 لم تكن ذات قاعدة البيانات رمز كل المكتبة المحلية الأشياء.يستخدم التطبيق TSQLDataset ar datasetproviders و clientdatasets.

أي شخص لديه أي فكرة عن كيف أو لماذا ؟ أي تغييرات على DBExpress التي قد تسبب هذا السلوك ؟ شكرا

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

المحلول

وأنا لا أعتقد دلفي 2006 الدعم فايربيرد أصلا. أعتقد أنك تحتاج إلى تثبيت FIBPlus

وهيريس قائمة ما معتمد في دلفي 2006:

Old driver      New driver      Database and Version

dbexpinf.dll    dbxinf30.dll    Interbase 7.5
dbexpora.dll    dbxora30.dll    Oracle 10g
dbexpdb2.dll    dbxdb230.dll    db2 UDB 8.x
dbexpmss.dll    dbxmss30.dll    MSSQL 2000
dbexpmys.dll    dbxmys30.dll    MySQL 4.0.24
dbexpasa.dll    dbxasa30.dll    Adaptive Sybase Anywhere 9
dbexpase.dll    dbxase30.dll    Sybase 12.5
dbexpinf.dll    dbxinf30.dll    Informix 9.x

هنا

نصائح أخرى

حتى دلفي 2010, المدمج في DBExpress السائقين رسميا لم يؤيد فايربيرد.
في الواقع, الكثير من تركيبات لم يعمل على الإطلاق.

إما:

  • الذهاب DBExpress driver رسميا دعم فايربيرد (البحث في google),
  • أو الانتقال إلى قاعدة بيانات أخرى الطبقة الوسطى (FIBPlus أن جيمس يوحي هو جيد حقا).

--يروين

وأولا وقبل كل شيء، إعادة المحاولة نفس الخطوات من التطبيق الجديد، 1-النموذج (وضع SQLConnection، SQLQuery الخ الخ)، ملء مع SQL تريد ومحاولة الاتصال.

وأعتقد أن هناك بعض المعلمات الاتصال الذي تغير بين الإصدارات، منذ ان كنت تستخدم D2006 DBexpress للوصول إلى فايربيرد الإصدار 2.x بالنجاح. لكن التطبيق لم استدار، ولكن مشاريع جديدة.

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