View Full Version : dll برای فارسی سازی اوراکل
phoenix87
چهارشنبه 04 اسفند 1389, 18:14 عصر
سلام
یمی از دوستام گفت توی ایران خودروی اصفهان از dll بزای فارسی سازی استفاده می کنند.
اگه من اونو گیر بیارم کسی می تونه چه جوری میشه ازش استفاده کرد.
mcse1234
پنج شنبه 05 اسفند 1389, 15:31 عصر
سلام
دوست عزیز من که راه حل رو تقریبا توضیح دادم.
DLL نیست که کار رو انجام میده. اون Java Engine هست که شما باید 4 کارکتر رو بهش اضافه کنین.
phoenix87
پنج شنبه 05 اسفند 1389, 19:33 عصر
یعنی کاری که شما میگین حتما جواب میده؟
چون حتی از dll هم استفاده کنیم تو لینوکس باز باید راه دیگه پیدا کرد.
اگه شما برای برای شرکت کار می کنید پس حتما راه استانداردش همینه که میگین.
من منظورم خود دیتابیس هست نه اوراکل فرم
mcse1234
یک شنبه 08 اسفند 1389, 00:26 صبح
سلام
فارسی سازی کارکترها و سورت صحیح در دیتابیس که کار بسیار راحتیه ..
من برای فارسی سازی فرم این نکات رو گفتم.
برای فارسی سازی دیتابیس در ابتدای ایجاد DB کافیه به جای انتخاب حالت معمول در نصب، از نصب پیشرفته استفاده کنید و Character_Set رو برابر با MsWin1256 یا AL32UTF8 قرار بدید و دیتابیس رو نصب کنید (پیشنهاد من Ar8MsWin1256هست) .
پس از نصب باید ٤ کارکتر "گ چ پ ژ" کارکترهای "ی ک ه" رو اصلاح کنید.
برای این کار باید از Oracle Locale Builder استفاده کنید.
توضیح عملکرد Oracle Globalization خودش یه کتابه. من فقط یه PDF بزرگ 500 صفحه ای ازش خوندم!
اما مختصر و مفید:
زبان ها دو دسته اند
1- تک کارکتری
2-چند کارکتری
منظور اینکه که برای حروف کوچک و بزرگ از دو شکل متفاوت استفاده می کنن
مثل زبان انگلیسی A و a
اما زبان فارسی تک کارکتری هست، پس حروف صرف نظر از اشکال مختلف (ابتدا-چسبان-وسط و تنها) یک کارکتر دارن
و از نوع دسته بندی دیگه زبانها به دو دسته
1-SingleByte
2-MultiByte
تقسیم می شن که زبان ما و لاتین جزو نوع اول و زبانهای ژاپن و کره و چین مالتی بایت هستند.
پیش از شروع برای جلوگیری از هرگونه صدمه به فایلهای اصلی یک کپی از پوشه Data واقع در فولدر NLS در مسیر OracleDB خودتون بگیرید (مثلاً C:\oracle\product\10.2.0\db_1\nls\data)
با باز کردن برنامه کافیه از منوی سمت چپ گزینه New Linguistic Sort را انتخاب و حالت رو Monoانتخاب کنید
دکمه Show Existing Difinitions رو انتخاب کنید. قصد داریم از فایل عربی به عنوان الگو استفاده کنیم.
فایل Arabic21 رو انتخاب کنید. دقت کنید شما نمی تونید مثلاً فایل عربی رو ویرایش کنید و فقط می تونید اون رو تغییر و به نامی جدید ذخیره کنید.
پس نام Collation Name را Farsi و برای Collation IDیک شناسه منحصر به فرد بزرگتر از ١٠٠٠ انتخاب کنید چون IDهای ماقبل رزرو هستن (اگر بخوام توضیح بدم مثنوی هفتاد من کاغذ شود..) شما 1004 رو انتخاب کنید.
حالا به تب بعدی یعنی Minor/Majorبرید و کارکترهای عزیز فارسی رو اضافه کنید.این هم راحته ..کافیه مقدار Unicode کارکتر رو بلد باشید یا بلد باشید اون رو تو فیلد Glyphتایپ کنید!!
خوب می مونه مینور و ماژور.. برای ما کارکترهای فارسی همه مینور ١ دارن..پس Major رو از کجا پیدا کنیم؟؟ اونم ساده تر از اولیه!
لیست رو حرکت بدید تا بعد از کارکترهای لاتین به عربی ها برسید. خوبه! با دقت نگاه کنید به مقدار ماژور حروف.یه مقادیری یهو نیستن. مثلاً ا ب ت ث (جای پ خالیه) خوب شما هم اضافش کنید و ماژورش هم 161 هست.
همین کار رو برا بقیه هم انجام بدید. ما متاسفانه چند نوع "ی" و "ک" داریم. کاف و ی رو هم انتخاب و با کاف و ی خودتون عوضش کنید و Modify را بزنید..
کاف اصلی سرکش داره و روش حمزه نیست و ی اصلی زیرش دونقطه داره
جای کارکترهای "و" و "ه" هم برعکسه کافیه کدهای ماژورش رو عوض کنید باهم.
کار تمامه!
فایل رو با استفاده از دکمه Save که یه آیکون زرد رنگه بدون دست خوردن نامی که برنامه به صورت خودکار براش ساخته ذخیره کنید (تاکید بدون دستخوردن و تغییر نام)
حالا دکمه یکی به آخر یعنی Generate NLB رو انتخاب و مسیر فولدر ذخیره فایل رو انتخاب کنید (ممکنه به مسیر ایراد بگیره، دستی واردش کنید حل می شه)
بعد از ایجاد فایل NLB و فایلهای بوت کافیه اونا رو به فولدر Data که حتماً هم ازش Backup گرفتین ببرید و Overwrite کنید.
به Registry ویندوز رفته و در مسیر :
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_ho me1 و
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_DevSuiteHom e1 یک جای خالی کلیک راست کنید
و گزینه New>String Value رو انتخاب کنید و نام اون رو NLS_SORT و مقدار اون رو Farsi بگذارین
برای Environment Variable بعدی هم که NLS_LANG نام داره مقدار American_America.ar8mswin1256 و یا Arabic_America.ar8mswin1256 انتخاب و برای تقویم فارسی هم یک رشته مثل قبل با نام NLS_CALENDAR با مقدار Persianانتخاب کنین
کار تمام شد..
حالا Database مبارک رو یه Resetبفرمایید.
توی CMD تایپ کنید:
SQLPLUS /nolog
بعد با نام و رمز SYS یا SYSMANوارد بشد
conn sys/pass as sysdba
بعد دیتابیس رو Shutdown کنید
Shutdown IMMEDIATE
بعد هم مجدد به یه idle Instance وصل می شید و دوباره Startup میکنید
Startup Mount YourInstName
در آخر هم اون رو Open قرار می دید تا قابل استفاده باشه
Alter Database Open;
حالا می تونید فارسی توش بنویسید و ذخیره کنید.
برای دیدن کل پارامترهای Set شده از یک Select ساده از DataDictionary می تویند استفاده کنید
select * from v$nls_parameters
موفق و پیروز باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.