السلام عليكــم ورحمـة الله وبركاتــه
هل احد جرب التعامل وربط قواعد بيانات الاوركل بال PHP
السلام عليكــم ورحمـة الله وبركاتــه
هل احد جرب التعامل وربط قواعد بيانات الاوركل بال PHP
التعامل معها سهل بشكل عام لكن التعامل مع oracle functions فيه بعض الصعوبة ونقص في المصادر
موقع ممتاز يعلمك بطريقة سهلة خاصة التعامل مع stored procedures and functions:
http://www.exzilla.net/docs/php-oci8/php-plsql.php
من موقع البشب الرسمي:
جميل جدا الامثله الموضحه
بس ناقصها شئ او انا لم ارها جيدا
هو الان اين اركب قاعده بيانات الاوركل لكي انشأ الاتصال بينها وبين والphp
يعني هو عامل connection
// Before running, create the table:
// CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));
$conn = oci_connect('scott', 'tiger', 'orcl');
$query = 'INSERT INTO MYTABLE VALUES(:myid, :mydata)';جميل
بس فين قاعده البيانات الهايعمل معاها الكونكت اضعها فين
في Mysql هو عارف المسار
طيب هنا فين
تم تعديل هذه المشاركة بواسطة rewsh في 3 يناير 2009 في 13:19
أولاً تأكد من أن مكتبة OCI8 مفعلة عندك في Apache في ملف httpd.conf
تعطيها مسار قاعدة البيانات، مثلاً:
$conn = oci_connect('scott', 'tiger', '192.168.1.1/pathtodb/dbname');تم تعديل هذه المشاركة بواسطة rewsh في 3 يناير 2009 في 19:20
أول شي غلطت بالكود في مشاركتي الأخيرة، ثاني شي في حالتين للربط:
1- الحالة الندرة أن تكون قاعدة بيانات الأوراكل على المخدم المحلي وبهذه الحالة:
oci_connect("user", "password", "127.0.0.1:1234/dbname")127.0.0.1 هو أي بي المخدم المحلي و 1234 هو البورت الذي يستخدمه الأوراكل (وضعت هذا البورت كمثال ولكن يجب أن تضع البورت الحقيقي المستخدم)
2- الحالة الأكثر شيوعاً أن يكوم مخدم الأوراكل مستقل عن مخدم apache:
oci_connect("user", "password", "192.168.0.5:1234/dbname")جيث 192.168.0.5 هو أي بي سيرفر الأوراكل وبالنسبة للبورت نفس الشيء تأكد منه وضع البورت الفعلي
dbname هو اسم قاعدة البيانات فقط وليس المسار كاملاً مثلاً empolyees
جزاك الله خيرا
جاري التجربه وان شاء الله تعمل بنجاح
اظن نفس طريقه ال Mysql في الاستعلامات وغيره
اقتباساظن نفس طريقه ال MySQL في الاستعلامات وغيره
لأ فقط في عبارات SQL، هل قرأت الصفحة السابقة أم لا!!!!
خالد_الحوراني كتب:لأ فقط في عبارات SQL، هل قرأت الصفحة السابقة أم لا!!!!
ألقيت عليها نظرا نعم
انا فعلا اقصد في عبارات sql
-----------
هل الاوركل تركب على سيرفيرات اللينكس ام ليها
--------
طب سؤال هل الافضل ان اعمل على
نظام stored procedures
؟
وكيف سيعود لي الناتج
مثلا انا في ال Mysql لو عملت selectالعائد لك في array كيف سيكون لو استخدمنا
stored procedures
اقتباسهل الاوركل تركب على سيرفيرات اللينكس ام ليها
تعمل على أغلب الأنظمة الشهيرة (Apple, IBM, HP, Windows, Linux, Sun)
اقتباسطب سؤال هل الافضل ان اعمل علىنظام stored procedures
؟
وكيف سيعود لي الناتج
هذا يعتمد على مدير قاعدة البيانات، فمثلاً في حالتي اسخدمت stored procedure لأن مدير قاعدة البيانات منع استخدام select (للسرية) على الجدول وأنشأ stored procedure للتعامل معها، اطبع الناتج في php لترى شكله هل هو مصفوفة أم لا، هذا يعتمد على ماذا يرجع stored procedure الذي أنشأته
هل تم الاتصال مع الأوراكل؟
تم تعديل هذه المشاركة بواسطة خالد_الحوراني في 4 يناير 2009 في 02:29
خالد_الحوراني كتب:أول شي غلطت بالكود في مشاركتي الأخيرة، ثاني شي في حالتين للربط:1- الحالة الندرة أن تكون قاعدة بيانات الأوراكل على المخدم المحلي وبهذه الحالة:
oci_connect("user", "password", "127.0.0.1:1234/dbname")127.0.0.1 هو أي بي المخدم المحلي و 1234 هو البورت الذي يستخدمه الأوراكل (وضعت هذا البورت كمثال ولكن يجب أن تضع البورت الحقيقي المستخدم)
2- الحالة الأكثر شيوعاً أن يكوم مخدم الأوراكل مستقل عن مخدم apache:
oci_connect("user", "password", "192.168.0.5:1234/dbname")جيث 192.168.0.5 هو أي بي سيرفر الأوراكل وبالنسبة للبورت نفس الشيء تأكد منه وضع البورت الفعلي
dbname هو اسم قاعدة البيانات فقط وليس المسار كاملاً مثلاً empolyees
اسف لتاخير في الرد كان لدي امتحانات
طب انا فعلا جيت اعمل كونكت الان بقواعد البيانات مشكله بسيطه
طب لو انا مش عامل انستول للاوركل على الجهاز
ولكن لدي قاعده البيانات
الا يمكن استخدام الطريقه الاولى هنا
لكنك ذكرت انه يجب ان اضع بورت الاوركل طب لماذا؟ اليست قاعده بيانات مثل غيرها الان ولا احتاج بورت خاص بيها؟
اقتباسطب لو انا مش عامل انستول للاوركل على الجهازولكن لدي قاعده البيانات
الا يمكن استخدام الطريقه الاولى هنا
لست متأكداً ولكن 99% محرك الأوراكي ضروري في السيرفر لأنها مثل أي قاعدة بيانات، توابع ال php هي تغليف للمهام الموجودة في محرك قاعدة البيانات وليست محرك بحد ذاتها
اقتباسلكنك ذكرت انه يجب ان اضع بورت الاوركل طب لماذا؟ اليست قاعده بيانات مثل غيرها الان ولا احتاج بورت خاص بيها؟
كل شيء في العالم له بورت :D حتى mysql لها بورت وغالباً مايتركه الناس على الافتراضي 3306 وبالنسبة للأوراكل أيضاً لها بورت (لا أعرف أين يتم تغييره ولكن ابحث بالغوغل أو في قسم الأوراكل بالمنتدى)
ماقلت لي تم الاتصال ولا لأ؟
تم تعديل هذه المشاركة بواسطة خالد_الحوراني في 5 يناير 2009 في 13:41
تمام انا هاشوف البورت الان حق الاوركل لكي اجرب
انا محتاج البورت عشان اعمل الاتصال هاشوفه الان واطرحه ان شاء الله
بانتظارك أخي الكريم
تم الاتصال بقاعده البيانات عن طريق كتابه اسم القاعده نفسها
لان اكتشفت ان البورت واحد
وسوف اطرح موضوع جديد يشرح الاتصال وطرق الاستخدام
سوف اتكلم من هذه العضويه حيث اني كنت استخدم عضويه صديقي
بارك الله فيك بانتظارك نحن
ولا تضيعنا مرة ثانية حفظت اسمك القديم :D