سؤال

لذلك هنا مشكلتي. أنا أبحث عن حل للسماح لنا بالاتصال بـ SQL Express 2008 ، مع الاستمرار في استخدام MDB2 كطبقة تجريد قاعدة البيانات الخاصة بنا. أحتاج إلى شيء من هذا القبيل ، وذلك أساسًا لأننا لا نزال بحاجة إلى أن نكون قادرين على استخدام MySQL و Postgres (ويبدو أن Orms ليس خيارًا في هذه المرحلة الزمنية).

على نحو مفضل ، سيكون هناك حل يعمل لكل من PHP5.2 و PHP5.3.

في البداية ، ذهبت إلى طريق تمديد PHP_MYSQL ... على ما يبدو ، كما لو أن هذا غير متوفر في PHP 5.3.

لا يبدو أن PHP_PDO_MSSQL قابلة للاستخدام مع MDB2 ، بحيث يبدو أن هذا خارج.

أخيرًا ، هناك امتداد MS "SQLSRV" ، وعلى الرغم من أنه يبدو كما لو كان هناك عمل على امتداد MDB2 له في وقت ما ، إلا أنه لا يبدو أنه قد وصل إلى الفرع الرئيسي.

من فضلك ... هل لدى أي شخص أي حلول لي؟

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

المحلول

لأي شخص آخر يبحث عن معلومات حول هذا ... حتى الآن ، حصلت على SQL Express 2008 مع MDB2 الذي يعمل تحت PHP 5.2.

لم أحاول بعد الاتصال بخادم بعيد: حتى الآن ، لقد توصيت فقط بجري SQL Express على LocalHost.

لست متأكدًا مما إذا كان PHP أستخدمه مع امتداد PHP_MSSQL.DLL أم لا: في كلتا الحالتين ، قمت بتعطيله. بدلاً من ذلك ، استخدمت php_dblib.dll التي قمت بتنزيلها من الروابط http://docs.moodle.org/en/installing_mssql_for_php . هذه المكتبة هي بناء من Freetds (من freetds.org). لم أقم بأي اختبار كبير معها حتى الآن ، لكن يمكنني الاتصال به ، وقد أخبرني أحد الزملاء بأنهم حققوا نجاحًا "فعليًا" في ذلك.

يوفر php_dblib.dll وظائف "استبدال" لوظائف mssql_* التي قدمتها php_mssql.dll. لذلك ، تحتاج إلى تعطيل امتداد php_mssql.dll قبل تمكين php_dblib.dll واحد.

أشياء صغيرة أخرى يجب ملاحظة:

1) في حين أن معظم الوثائق حول SQL Express و PHP تنص على تضمين اسم "المثيل" في القسم المضيف لمعلومات اتصال DB ، فقد وجدت أن هذا لم ينجح بالنسبة لي: في الواقع ، كان علي إزالة صراحة " sqlexpress".

2) بينما يوفر رابط Moodle أعلاه تصميمات PHP 5.3 لـ php_dblib.dll ، للأسف تم تصميمها باستخدام VC9. تم تركيب تثبيت PHP 5.3 الذي قمت ببنيه باستخدام VC6 ، ولذا ما زلت أعمل على بناء php_dblib.dll الخاص بي لـ PHP 5.3.

على أي حال ، آمل أن يساعد هذا الأشخاص الذين يعانون من نفس المشكلة.

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