الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عدم تحميل درايفر Postgresql

بدأه asm-soft في 7 نوفمبر 2008 · 1 رد · 1,499 مشاهدة · في قسم Cross Platform GUI Libraries العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة

عندى مشكلة فى QT مع PostgreSQL و هى بخصوص بناء Plugin الخاص بقاعده البيانات PostgreSQL

قمت من قبل ببناء Plugin الخاص بقاعده البيانات MySQL و نجح البناء بدون مشاكل و يتم تحميلها بدون مشاكل فى مثال SQL Browser و خطوات البناء بسيطة و هى

1- تحويل المكتبه libmysql.lib إلى libmysql.a

2- صناعه makefile

qmake -o Makefile "INCLUDEPATH+=C:\PROGRA~1\MySQL\MYSQLS~1.0\include" "LIBS+=C:\PROGRA~1\MySQL\MYSQLS~1.0\lib\opt\libmysql.a" mysql.pro

3- قمت بتنفيذ mingw32-make

و هذه هى خطوات بناء Plugin الخاص بقاعده البيانات MySQL مستخدماً mingw على الوندوز و بالتأكيد هى نفسها نفس الخطوات المطلوبه لبناء Plugin الخاص بقاعده البيانات PostgreSQL و لكنى واجهت عده مشاكل منها عند تحويل مكتبه libpq.lib إلى libpq.a يتم إنشاء قبل كل أسماء الوظائف الرمز "_" فى ملف def و هذا يؤدى إلى فشل بناء Plugin ولكنى قمت بإزالتها و تم البناء بدون مشاكل :wink:

ولكن الـ Plugin لا يتم تحميله فى مثال SQL Browser علماً بأننى أستخدم PostgreSQL 8.3 و QT4.4.3

post-89964-1226083818_thumb.jpg

قتحت ملفات C و H الخاصة بالـ Plugin فوجدتها تتعامل مع PostgreSQL 8.2 كأقصى إصدار فقمت بإضافة 8.3 و ظبطت كل حاجه فيها و ثم قمت ببنائها مرة أخرى و للأسف لم يتم تحميلها أيضاً مع العلم أنها يجب أن يتم تحميلها دون النظر لإصدار PostgreSQL :happy:

قولت أروح أفتح سورس المثال يمكن يكون فيه المشكله فوجدت المثال يتجاهل QPSQL7 فى ملف qsqlconnectiondialog.cpp كالأتى

  1. drivers.removeAll("QPSQL7");
  2.  

قمت بإزاله هذا السطر ثم قمت ببناء المثال و لكن بدون فائده :S

أين المشكله ؟

هل المشكلة فى المثال على أساس أنه لا يتعامل مع PostgreSQL أساساً نظراً لأنه يجب تحديد قاعده البيانات و Schema التى سيتم العمل عليها أما فى قاعده بيانات MySQL يتم تحديد قاعده البيانات فقط فهيكله MySQL مختلفة عن PostgreSQL

طبعاً المشكله ليست فى مسارات المكتبات و الحجات الصغيرة دى :lol:

I need your help :cry:

forum-signature-01.gif
#2

الحمد لله تم حل المشكلة و ذلك بنسخ مكتبه libpq.dll و المكتبات التى تعتمد عليها بجوار المشروع ويجب تنفيذ هذا حتى لو قمت بتعريف مسار المكتبه فى environment variable (لا أعرف لماذا :wacko: ) و ستجد جميع المكتبات فى مجلد bin الخاص بالـ PostgreSQL

بالتوفيق

forum-signature-01.gif

مواضيع مشابهة