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

كيف يمكن اغير لغة قاعدة البيانات


fares

Recommended Posts

السلام عليكم,,
عزيزي لقد عملت مثل ماقلت لكن مازالت المشكلة موجودة
فقد ذهبت تحتHKEY_LOCAL_MACHINE وغيرت قيمة
كل مفتاح ولذي كانوا قيمتهم ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256
الى القيمة التي قلت لي.
فعندما استرجع البيانات التي قمت بإدخالها الى القاعدة بالعربي من خلال الدفلوبر فإنها ترجع بهذا
الشكل؟؟؟؟؟؟؟.

رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
والحمد لله رب العالمين
والصلاة والسلام على الحبيب المصطفى

فى البداية هذه الطريقة قمت بتنفيذها اكثر من مرة فى حالة انى نسيت التعديل وانا
اثبت ال
DB
واظن انه يوجد طريقة افضل من ذلك
فى البداية يتم تعديل اللغة فى قاعدة البيانات كما يلى
db
كما يلى
فى حالة
connenect in 9i
كما يلى
SQL> CONN SYS/SYSsystem AS SYSDBA;
Connected.

وفى الاصدارات السابق

SQL> CONN SYS/SYSsystem
وبعد ذلك نتبع ما يلى

SQL> DESC PROPS$;
Name Null? Type
-------------------------------- ---------
NAME NOT NULL VARCHAR2(30)
VALUE$ VARCHAR2(4000)
COMMENT$ VARCHAR2(4000)

SQL> SELECT NAME,SUBSTR(VALUE$,1,20)VALUE FROM PROPS$;

NAME VALUE
------------------------------ --------------------
DICT.BASE 2
DEFAULT_TEMP_TABLESPACE TEMP
DBTIMEZONE -07:00
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET WE8ISO8859P1
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR

NAME VALUE
------------------------------ --------------------
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXF
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXF
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16

NAME VALUE
------------------------------ --------------------
NLS_RDBMS_VERSION 9.2.0.1.0
GLOBAL_DB_NAME ABHAPH.US.ORACLE.COM
EXPORT_VIEWS_VERSION 8

25 rows selected.
-------------------------------------------------------
UPDATE PROPS$ SET VALUE$ ='AR8MSWIN1256' WHERE NAME='NLS_CHARACTERSET';

وتغلق ال db
وتشغلها مرة اخرى وبعد ذلك تروح لل
registry للتعديل اللغة فى
tools
سواء على server
او cliant
وتعدلها بنفس القيمة فى
NLS_LANG =AMERICAN_AMERICA.AR8MSWIN1256

طارق مرشدي

--------------------------------------------------------------------------------------------------------
سبحان الله العظيم - سبحان الله وبحمده عدد خلقه ورضاء نفسه وزنة عرشه ومداد كلماته ولا حول ولا قوة الابالله

رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

خلينا نبلش وحدة وحدة

اول شي عنا 3 مستويات لتحديد اللغة
المستوى الاول database
المستوى الثاني parameters in pfile( يمكن التعديل عليها من pfile )
المستوى الثالث هو من o.s اي من الوندوز او اليونكس ( اذا ويندوز من regedit )

الوراثة الاقوى هي للمستوى الثالث ثم الثاني
اذا عدل بالمستوى الثالث يمكن ان نتجاوز المستوى الثاني
التعديل على المستوى الثالث يتم بالتعديل من regedit كما تقدم الزملاء
هذه العملية يجب ان تتم على كل من server and client

اما المستوى الاول و الذي يجب ان يكون باللغة المناسبة (character set)
تحدد عند بناء database و لا يمكن تعديلها بالاصدارات السابقة 9i

اما التعديل عليه بالطريقة التي ذكرها الزميلsamirtarek غير مجربة و غير مضمونة لأنه يعدل على dictionary
الاصدار 9i تضمن اداة اسمها CSSCAN يمكن ان تقوم بهذه العملية لمزيد من المعلومات يمكن مراجعة documention

في حال الزميل صاحب المشكلة على الاغلب انه يمتلك characher set على مستوى database اي المستوى الاول مخالف للغة العربية و بالتالي يمكن ان تكون هذه الاداة مفيدة لاجراء التعديل
و الاحتمال الثاني هو ان عملية الادخال تتم من client يستخدم لغة غير العربية

------ العمل في بيئة تقبل اللغة العربية يجب انت تكون
السيرفر : المستوى الثالث يقبل اللغة العربية
المستوى الاول الخاص بالداتابيز يقبل اللغة العربية
client : المستوى الثالث يقبل اللغة العربية
لا يوجد لدينا مستوى اول او ثاني في حال client

note
مصطلح يقبل اللغة العربية يعني character set يبدأ ب ar

رابط هذا التعليق
شارك

  • بعد 9 شهور...
  • بعد 2 سنة...
  • بعد 1 شهر...

السلام عليكم كيفكم يا شباب
كل سنة وانتم طيبين
هل وجدتم حل لتغير لغة قاعدة البيانات
مع العلم بان لغة CLIENT لغة عربية لكن لغة السيرفر هى الى بتظهر ؟؟؟؟؟

رابط هذا التعليق
شارك

سلام المشكلة ترميز قاعدة البيانات نفسها
راجع الموضوع أولا وثانيا

لمعرفة ترميز قاعدة البيانات قم بتشغيل الاتى

select name,value$ from sys.props$ where name ='NLS_CHARACTERSET'

هذا هو ترميز قاعدة البيانات

ولتغيير الترميز قم بعمل الاتى لكن ارجو ان تقوم بعمل نسخة من قاعدة البيانات أولا
كما أرجو قبل عمل التحويل مدنا بالترميز الذى سيظهر لك من الأمر السابق والترميز الذى تريد الذهاب اليه وهو غالبا AR8ISO8859P6
ALTER DATABASE [db_name] CHARACTER SET new_character_set


تحياتى

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية