إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

Sys_Context


5 رد (ردود) على هذا الموضوع

#1 amirsheta

amirsheta

    عضو

  • الأعضــاء
  • 48 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 16 May 2011 - 02:34 AM

كل ما بعمل الكود ده ما بشتغلش

Select * from products where language = SYS_CONTEXT('USERENV','LANGUAGE')
مع ان لو عملت الكود كده بتشتغل

Select * from products
مع ان بيانات Products متخرنة مرة باللغة الانجليزية ومرة باللغة الفرنسية وبلغات اخرى

وقيمة Language فى الجدول بتكون أما EN -FR -JP - ....

بعد اذن حضراتكم بتعمل ايه
SYS_CONTEXT('USERENV','LANGUAGE')

وازاى اتحكم فى اللغة فى قاعدة البيانات بحيث تطلع بيانات من جدول Products حسب اللغة

أسأل الله العظيم ربّ العرش العظيم ان يرزفني العمل الصالح والمناسب لقدراتي بمايرضي الله
إنه الحليم الكريم لا إله إلا هو وهو على كل شيء قدير
وبالإجابة جدير ليس كمثله شيء وهو السميع البصير .



Amir Sheta

Oracle Developer

Oracle ADF Developer


#2 abdou1984

abdou1984

    عضو نشط

  • الأعضــاء
  • 272 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 16 May 2011 - 11:38 AM

السلام عليكم ورحمة الله وبركاته
-----------
اخى الكريم
ناتج الاستعلام
Select Sys_Context('Userenv','Language') From Dual;
يكون بهذا الشكل

ARABIC_SAUDI ARABIA.AR8ISO8859P6

طالما ان الجدول مخزن به البيانات بالشكل AR, EN فممكن تستخدم الدالة Substr
وبالتالى يصبح شكل الاستعلام كالاتى

Select * From Products Where Substr(Language ,1,2) =Substr( Sys_Context('Userenv','Language'),1,2);


#3 mageed_ahmed

mageed_ahmed

    مشرف قسم الـ DBA

  • فريق الإشراف
  • 957 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:.

تاريخ المشاركة 17 May 2011 - 02:45 PM

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

أخي الحبيب

الموضوع بسيط

في جدول products لو كانت اللغات مطابقة لنمط أوراكل في استخدام اللغات مثل AR EN فاليكم التالي

أولا
حضرتك طلبت SYS_CONTEXT('USERENV','LANGUAGE' بتعمل ايه فهي بتشوف ايه اللغة التي تم اعداد الاوراكل للعمل بها أو ما يسمي ب NLS_LANG

يبقي علشان نعرف ايه اللغة المستخدمة أحد الطرق هو

Select Sys_Context('Userenv','Language') From Dual;

لاحظ النتيجة

مثلا
ARABIC_SAUDI ARABIA.AR8ISO8859P6
أو
ARABIC_SAUDI ARABIA.AR8MSWIN1256

أو
AMERICAN_AMERICA.WE8ISO8859P6

فلو مصممي قاعدة البيانات أختاروا اللغة علي هيئة ما بعد النقطة .

اللي هي في مثالنا AR,EN

يمكنك عمل التالي زي ما قال أخي الفاضل قبلي ولكن مع تعديل بسيط

Select * From Products Where Substr(Language ,1,2) =Select * From Products Where Substr(Language ,1,2) =substr(Sys_Context('Userenv','Language'),instr(Sys_Context('Userenv','Language'),'.')+1,2) ;

أما لا

SELECT DISTINCT Language FROM PRODUCT;

ستظهر لك اللغات

وطابق النتاتج مع

select substr(Sys_Context('Userenv','Language'),instr(Sys_Context('Userenv','Language'),'.')+1,2)  from dual
/




تحياتي
("واتقوا يوما ترجعون فيه الي اللــــــه")

#4 amirsheta

amirsheta

    عضو

  • الأعضــاء
  • 48 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 21 May 2011 - 12:39 AM

SQL> SELECT SYS_CONTEXT('USERENV','Lang') FROM DUAL;

SYS_CONTEXT('USERENV','LANG')
--------------------------------------------------------------------------------
US



SELECT SYS_CONTEXT('USERENV','Language') FROM DUAL;

SYS_CONTEXT('USERENV','LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.AR8MSWIN1256


SQL> SELECT * FROM  products  WHERE LANGUAGE = SYS_CONTEXT('USERENV', 'LANG');

no rows selected

ازاى اقدر اغير اللغة علشان اعرف اشغل جملة SELECT ؟؟؟؟ ويظهر المنتج بحسب اللغة
قيمة Language فى الجدول بتكون واحدة من دول EN - FR - DE - JA

أسأل الله العظيم ربّ العرش العظيم ان يرزفني العمل الصالح والمناسب لقدراتي بمايرضي الله
إنه الحليم الكريم لا إله إلا هو وهو على كل شيء قدير
وبالإجابة جدير ليس كمثله شيء وهو السميع البصير .



Amir Sheta

Oracle Developer

Oracle ADF Developer


#5 ehab_sayed_abdallah

ehab_sayed_abdallah

    مشترك

  • الأعضــاء
  • 57 مشاركة
  • الاسم الأول:Ehab
  • اسم العائلة:Sayed
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle Applications DBA

تاريخ المشاركة 23 May 2011 - 12:28 PM

Try to modify database NLS_LANG to be AMERICAN_AMERICA.AR8MSWIN1256

Ehab Sayed Abdallah Labib
Oracle Applications DBA
ehab_sayed_abdallah@yahoo.com


#6 YAHYATHH

YAHYATHH

    عضو

  • الأعضــاء
  • 26 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 18 May 2018 - 02:06 AM

كيف اعرض اللغة الحالية للكيبورد  بكود محدد  مثلا ..  اريد اعرف  هل مفاتيح الكيبورد  تكتب عربي ام انكليزي ...  هل في كود معين في الاوركل يعرض لي ذلك