بتاريخ: 23 فبراير 200422 سنة comment_1904 السلام عليكم ورحمة الله وبركاتهلحل مشكلة الانحرف في التاريخ بين التاريخ الميلادي والتاريخ الهجري أي أن التاريخ بالميلادي صحيح ولكن بالهجري خطا وسواء كان الفرق بالزيادة او النقصان عن التاريخ الميلادي -- في حالة الفرق بالنقصانأي أن التاريخ بالميلادي هو 16/12/2001والتاريخ بالهجري هو 1/10/1422ولكن ظهر لدينا في قاعدة البيانات التاريخ الهجري 30/9/1422أي ناقص التاريخ يوم عن التاريخ الصحيح وهو 1/10/1422 وهذه الحاله تسمى التعويض بالزياده , ولحل هذا الانحراف نقوم بعمل التالي :-1- نقوم بإطفاء قاعدة البيانات من خلال ال SVRMGRL>SHUTDOWN IMMEDIATE 2- نقوم بإنشاء ملف في الموقع التالي :$ORACLE_HOME\OCOMMON\NLSوإسم الملفLXECAL.NLT ونكتب داخل هذا الملف define calendar calendar_name = "arabic hijrah" define calendar_deviation deviation_data = { <"dec-16-2001 ad">:1 } enddefine calendar_deviation enddefine calendar هنا قمنا بزيادة يوم واحد الى التاريخ الهجري المقابل لتاريخ 16/12/20013- نقوم بتنفيذ الامر التالي من خلال ال Command Prompt ORACLE_HOME\OCOMMON\NLS\LXEGEN$ وذلك لتثبيت التعديل الذي قمنا به في التاريخ ملاحظه مهمه :لو تم تنفيذ الخطوات السابقة بنجاح فانه سوف يتم إنشاء ملف جديد وبإسم xecalah.nlbوسيتم إنشاءه في نفس المكان الذي به ملف LXECAL.NLT 4- نقوم الان بتشغيل قاعدة البيانات ونتأكد من أن التاريخ قد تعدل بناء لما عملنا .لوأردنا زيادة يوم أخر لتاريخ قادم أخر ومع زيادة يوم للتاريخ الحالي :نفس الخطوات السابقه مع تعديل هنا ولكن يجب مراعاة التاريخ الذي نريد أن نعدل به فلايمكن تعديل الا تاريخ نهاية الشهر الهجري أي يوم 29 أو 28 من الشهر فقط define calendar calendar_name = "arabic hijrah" define calendar_deviation deviation_data = { <"dec-16-2001 ad">:1 <"jan-13-2002 ad">:1 } enddefine calendar_deviation enddefine calendar في حال الزيادةأي أن التاريخ بالميلادي هو 14/1/2002والتاريخ بالهجري هو 30/11/1422ولكن ظهر لدينا في قاعدة البيانات التاريخ الهجري 1/12/1422 أي أن التاريخ زائد بيوم عن التاريخ الصحيح وهو 30/11/1422 وهذه الحاله تسمى التعويض بالنقصان ولحل هذا الانحراف نفس الخطوات السابقه مع الاختلاف في هذا السطر deviation_data = { <"jan-14-2002 ad">:11 } حيث نقوم بتحديد التاريخ الميلادي الذي يقابل التاريخ الهجري الذي يحتاج الى نقصان يومونضع رقم 11 لنقصان يوم واحد و12 لنقصان يومين وهكذا .لو أردنا عمل زيادة يوم ونقصان يوم أخر في شهريين مختلفين نقوم بعمل التالي : define calendar calendar_name = "arabic hijrah" define calendar_deviation deviation_data = { <"dec-16-2001 ad">:1 <"jan-14-2002 ad">:11 } enddefine calendar_deviation enddefine calendar انا جربت هذه الطريقه في قاعدة بيانات اوراكل 8i ولا اتوقع انها تعمل مع الاصدارات الاخري لو احد جرب هذه الطريقه مع اي اصدار اخر وخصوصا الاصدار 9i وعملت معاه ياريت يخبرنا بنجاحها وشكرا لكم .عمر باعقيلكندا - مونتريال[email protected] تقديم بلاغ
بتاريخ: 23 فبراير 200422 سنة comment_1909 معلومات متميزه لا تأتي الا من شخص متميز , الف الف شكر تقديم بلاغ
بتاريخ: 23 فبراير 200422 سنة comment_1919 مشكووور اخوي عمر على المعلومات القيمةوكما قاله اخي خالد: معلومات متميزة لا تأتي الا من شخص متميز اخوك ابو تركي تقديم بلاغ
بتاريخ: 24 فبراير 200422 سنة comment_1960 هذا اقل ما نتوقعه من متميز مثلك اخ عمر مشكور ووفقك الله تقديم بلاغ
بتاريخ: 25 فبراير 200422 سنة comment_2015 ماشاء الله تبارك الله يعطيك الف عافيه وعلى القوة تقديم بلاغ
بتاريخ: 18 مارس 200421 سنة comment_3549 السلام عليكم ورحمة الله وبركاته،، كل الشكر الجزيل مني ومن كل مستخدمي الأوراكلبارك الله فيك وأعطينا المزيد تقديم بلاغ
بتاريخ: 19 سبتمبر 200619 سنة comment_78957 ياأخ عمر باعقيل حل لي المشكلة هذة ارجوكعملت برنامج اجازات في هذا البرنامج اقوم بإدخل التاريخ بالهجري من جهاز claint أي العميل ولكن عند الرجوع الى القاعدة في السيرفر اجد انه تم حفظها بالتاريخ الميلادي ماهو الحل ارجوك تقديم بلاغ
بتاريخ: 20 سبتمبر 200619 سنة comment_79029 بسم الله الرحمن الرحيمالسلام عليكم ورحمة الله وبركاتهشكرا لك أخي الكريم عمر على المجهود الطيب ولكن سؤالي هو من كلامك هذا هل أفهم أن قاعدة البيانات تخزن تاريخ هجري وماهي الطريقة لعمل query له إذا كان كلامي صحيح والسلام عليكم ورحمة الله وبركاته تقديم بلاغ
بتاريخ: 21 سبتمبر 200619 سنة comment_79129 أخ عمر صراحة لي تجربة في موضوع تعديل التاريخ وقمت بجميع الخطوات الي ذكرتها أو أكثر فوجدت مشاكل غريبة جدا مثل نهاية التاريخ لشهر هجري تكون 20/09/1426 مثلا والتاريخ الي بعده يكون واحد وتظهر هذه المشاكل في حالة عندك ازاحات كثيرة على التاريخ الحاصل بعد بحث طويل وجدت ان هناك BUG مسجل على أوراكل في موضوع التقويم وهناك للمعلومية تقويم صينية و يابانية وليس فقط هجري وكل تجربتي في 8Iنصيحتي لجميع الإخوان حط التقويم الهجري للأوراكل خلف ظهرك واستخدم الطريقة المتبعة في معظم الوزارات الحكومية والبرامج والتطبيقات بإنشاء جدول للتقويم لكل شهر هجري متى يبدء ومتى ينتهي وبهذه الطريقة يمكنك معرفة التاريخ الموافق وسلامتكم تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.