PLSQL Developer 6 and Debug in Oracl10g
Unable to initialize debugger
براي فعال كردن debug در محيط PLSQL Developer و Oracle10g كافي است ابتدا متغيير سيستمي PLSQL_DEBUG بانك اوراكل را TRUE كنيد. براي اين كار مي توانيد با كاربر System به اوراكل متصل شويد و دستور alter system set PLSQL_DEBUG=true را اجرا كنيد و يا برنامه Enterprise Manager Console را
اجرا كنيد(اين برنامه با نصب Oracle Client 10g موجود است) و با كاربر System متصل شويد و در قسمت Instance->Configuration دكمه All Initialization Parameters
بزنيد و قسمت SPFile را انتخاب كنيد و پارامتر PLS_DEBUG را به True تبديل كنيد. سپس به كاربران لازم كه مي خواهند procedure و function ها را Debug كنند .بايد
مجوزهاي سيستمي debug connect session و debug any procedure را داشته باشند براي اين كار با كاربر System به اوراكل متصل شده و دستورات زير را اجرا كنيد.
براي مثال كاربر scott در نظر گرفته شده است كه مي توانيد كاربر ديگري انتخاب كنيد.grant debug connect session to soctt grant debug any procedure to scott
OracleDBA
جستجو
شنبه، دی ۰۵، ۱۳۸۳
یکشنبه، اسفند ۰۳، ۱۳۸۲
مشکل CLOB در Developer6i حل شد
اگر یادتان باشد وقتی که یک فیلد از نوع clob در اوراکل 9i باشد و می خواستید با From6i داده وارد کنید یا بخوانید مشکل داشت و اطلاعات را ذخیره نمی کرد یا نمایش نمی داد.برای رفع آن کافی است Patch Developer6i را نصب کنید . برای دریافت آن ایمیل بزنید یا با تلفن تهران 09122081827 تماس بگیرید.
اگر یادتان باشد وقتی که یک فیلد از نوع clob در اوراکل 9i باشد و می خواستید با From6i داده وارد کنید یا بخوانید مشکل داشت و اطلاعات را ذخیره نمی کرد یا نمایش نمی داد.برای رفع آن کافی است Patch Developer6i را نصب کنید . برای دریافت آن ایمیل بزنید یا با تلفن تهران 09122081827 تماس بگیرید.
تبدیل کاراکترست WE8ISO8859P1 به AR8MSWIN1256 در بانک اوراکل و فرمهای ساخته شده توسط Form Builder 6/6i
برنامه تبدیل کاراکترست WE8ISO8859p1 به AR8MSWIN1256 تهیه شد و آماده ارئه است.این برنامه تمامی فیلدها غیر از CLOB را تبدیل می کند حتی فیلد از نوع long را نیز تبدیل میکند در زمان بسیار کم.آماده پذیرش هر نوع پروژه تبدیل با قیمت مناسب هستم.برای اطلاعات بیشتر با تلفن 09122081827 تماس بگیرید یا ایمیل بزنید.
برنامه تبدیل کاراکترست WE8ISO8859p1 به AR8MSWIN1256 تهیه شد و آماده ارئه است.این برنامه تمامی فیلدها غیر از CLOB را تبدیل می کند حتی فیلد از نوع long را نیز تبدیل میکند در زمان بسیار کم.آماده پذیرش هر نوع پروژه تبدیل با قیمت مناسب هستم.برای اطلاعات بیشتر با تلفن 09122081827 تماس بگیرید یا ایمیل بزنید.
یکشنبه، تیر ۱۵، ۱۳۸۲
فارسی در Oracle Form 6i/9i
اولين شرکتی که مشکل فارسی و چهار حرف گچپژ را در Oracle Form Server9i & Form Server6i حل کرده است شرکت نمود می باشد. برای اطلاعات بيشتر با تلفن 2080157 تماس بگيريد. آدرس شرکت سعادت آباد بلوار دريا بعد از علامه پلاک 61 واحد 3 آدرس سايت شرکت www.nemood.com
اولين شرکتی که مشکل فارسی و چهار حرف گچپژ را در Oracle Form Server9i & Form Server6i حل کرده است شرکت نمود می باشد. برای اطلاعات بيشتر با تلفن 2080157 تماس بگيريد. آدرس شرکت سعادت آباد بلوار دريا بعد از علامه پلاک 61 واحد 3 آدرس سايت شرکت www.nemood.com
چهارشنبه، اردیبهشت ۳۱، ۱۳۸۲
نصب اوراکل روی Linux RedHat
اوراکل 9i روی Linux RedHat 9 نصب نمی شود. ولی روی RedHat 8 نصب می شود. بعد از نصب می توانيد آنرا به Linux RedHat 9 ارتفاء دهيد ولی با اين کاربعضی از برنامه ها مثل Database Configuration Assistant اجرا نمی شود که برمی گردد به Java Runtime Environment که در صدد رفع آن هستم. در Linux RedHat 9 شما می توانيد کی برد فارسی را مانند Windows اضافه کنيد و فارسی تايپ کنيد
اوراکل 9i روی Linux RedHat 9 نصب نمی شود. ولی روی RedHat 8 نصب می شود. بعد از نصب می توانيد آنرا به Linux RedHat 9 ارتفاء دهيد ولی با اين کاربعضی از برنامه ها مثل Database Configuration Assistant اجرا نمی شود که برمی گردد به Java Runtime Environment که در صدد رفع آن هستم. در Linux RedHat 9 شما می توانيد کی برد فارسی را مانند Windows اضافه کنيد و فارسی تايپ کنيد
اشکال نصب Oracle Text روی Windows 2000
قبلا گفته شد هنگام نصب اورکل 9i روی Windows 2000 برنامه Oracle Text نصب نمی شود و برای رفع آن گفته شد که به شکل دستی بايد انجام دهيد ولی روش ساده تری نيز وجود دارد. مشکل نصب برمی گردد به زبان Windows2000 اگر فارسی انتخاب کرده باشيد چنين مشکلی را خواهيد ديد برای رفع آن به قسمت Control Panel رفته و Reginal Options را انتخاب کنيد و Combo box مربوط به Your locale را از زبان Farsi به English تبديل کنيد و يکبار سيستم را Reboot کنيد و سپس شروع به نصب اوراکل کنيد و بعد از اتمام نصب زبان را به حالت Farsi برگردانيد.
قبلا گفته شد هنگام نصب اورکل 9i روی Windows 2000 برنامه Oracle Text نصب نمی شود و برای رفع آن گفته شد که به شکل دستی بايد انجام دهيد ولی روش ساده تری نيز وجود دارد. مشکل نصب برمی گردد به زبان Windows2000 اگر فارسی انتخاب کرده باشيد چنين مشکلی را خواهيد ديد برای رفع آن به قسمت Control Panel رفته و Reginal Options را انتخاب کنيد و Combo box مربوط به Your locale را از زبان Farsi به English تبديل کنيد و يکبار سيستم را Reboot کنيد و سپس شروع به نصب اوراکل کنيد و بعد از اتمام نصب زبان را به حالت Farsi برگردانيد.
پنجشنبه، اردیبهشت ۲۵، ۱۳۸۲
جزوات آموزشی شرکت اوراکل
1- Introduction to Oracle9i PLSQL - Volume I
2- Introduction to Oracle9i PLSQL - Volume II
3- Introduction to Oracle9i PLSQL - Volume III
4- Oracle9i Develop PLSQL Program Units - Volume I
5- Oracle9i Develop PLSQL Program Units - Volume II
6- Oracle9i PLSQL Fundamentals - Volume I
7- Oracle9i PLSQL Fundamentals - Volume II
8- Oracle9i Program with PLSQL - Volume I
9- Oracle9i Program with PLSQL - Volume II
10- Oracle9i Program with PLSQL - Volume III
11- Introduction to Oracle9i SQL - Volume I
12- Introduction to Oracle9i SQL - Volume II
13- Introduction to Oracle9i SQL - Volume III
14- Oracle9i Advanced SQL - Volume I
15- Oracle9i Advanced SQL - Volume II
16- Oracle9i SQL for End Users
17- SQL 1 - Volume I
18- SQL 1 - Volume II
19- SQL 1 - Volume III
20- Oracle9i Database Product Overview
21- Oracle9i New Features for Administrators - Volume I
22- Oracle9i New Features for Administrators - Volume II
23- Oracle9i New Features for Application Developers - Volume I
24- Oracle9i New Features for Application Developers - Volume II
25- Oracle9i New Features Overview - Volume I
26- Oracle9i New Features Overview - Volume II
27- Oracle9i DBA Fundamentals I - Volume I
28- Oracle9i DBA Fundamentals I - Volume II
29- Oracle9i DBA Fundamentals II - Volume I
30- Oracle9i DBA Fundamentals II - Volume II
31- Oracle9i Performance Tuning - Volume I
32- Oracle9i Performance Tuning - Volume II
33- Oracle9i Implement Advanced Queuing
34- Oracle9i Spatial - Volume I
35- Oracle9i Spatial - Volume II
36- Oracle Developer Form 6i volume I / II
برای سفارش با تلفن 09122081827 بگيريد و يا به آدرس rajabi_mohamad@yahoo.com ايميل بزنيد.
1- Introduction to Oracle9i PLSQL - Volume I
2- Introduction to Oracle9i PLSQL - Volume II
3- Introduction to Oracle9i PLSQL - Volume III
4- Oracle9i Develop PLSQL Program Units - Volume I
5- Oracle9i Develop PLSQL Program Units - Volume II
6- Oracle9i PLSQL Fundamentals - Volume I
7- Oracle9i PLSQL Fundamentals - Volume II
8- Oracle9i Program with PLSQL - Volume I
9- Oracle9i Program with PLSQL - Volume II
10- Oracle9i Program with PLSQL - Volume III
11- Introduction to Oracle9i SQL - Volume I
12- Introduction to Oracle9i SQL - Volume II
13- Introduction to Oracle9i SQL - Volume III
14- Oracle9i Advanced SQL - Volume I
15- Oracle9i Advanced SQL - Volume II
16- Oracle9i SQL for End Users
17- SQL 1 - Volume I
18- SQL 1 - Volume II
19- SQL 1 - Volume III
20- Oracle9i Database Product Overview
21- Oracle9i New Features for Administrators - Volume I
22- Oracle9i New Features for Administrators - Volume II
23- Oracle9i New Features for Application Developers - Volume I
24- Oracle9i New Features for Application Developers - Volume II
25- Oracle9i New Features Overview - Volume I
26- Oracle9i New Features Overview - Volume II
27- Oracle9i DBA Fundamentals I - Volume I
28- Oracle9i DBA Fundamentals I - Volume II
29- Oracle9i DBA Fundamentals II - Volume I
30- Oracle9i DBA Fundamentals II - Volume II
31- Oracle9i Performance Tuning - Volume I
32- Oracle9i Performance Tuning - Volume II
33- Oracle9i Implement Advanced Queuing
34- Oracle9i Spatial - Volume I
35- Oracle9i Spatial - Volume II
36- Oracle Developer Form 6i volume I / II
برای سفارش با تلفن 09122081827 بگيريد و يا به آدرس rajabi_mohamad@yahoo.com ايميل بزنيد.
چهارشنبه، اسفند ۱۴، ۱۳۸۱
بهترين ابزار برای جاوا
بهترين
Best Application Server
Best Visual Bean/Component
Best Java Book
Best Pure Java Packaged Client Application
Best Pure Java Packaged Client-Server or Distributed Application
Best Database Tool for Java
و ..... به اين آدرس مراجعه کنيد.
بهترين
Best Application Server
Best Visual Bean/Component
Best Java Book
Best Pure Java Packaged Client Application
Best Pure Java Packaged Client-Server or Distributed Application
Best Database Tool for Java
و ..... به اين آدرس مراجعه کنيد.
جمعه، اسفند ۰۹، ۱۳۸۱
امتحان مختلف زبان انگليسی
علاقمندان به زبان انگليسی می توان با مراجعه به سايت http://a4esl.org زبان خود را تقويت کنند. در اين سايت می توانيد مهارت خود را با امتحانهای مختلف آزمايش کنيد.حتما ببينيد.
علاقمندان به زبان انگليسی می توان با مراجعه به سايت http://a4esl.org زبان خود را تقويت کنند. در اين سايت می توانيد مهارت خود را با امتحانهای مختلف آزمايش کنيد.حتما ببينيد.
اشکال سايت در تصاوير؛ منو و موارد دانلود
تمامی تصاوير؛ منو و موارد دانلود را روی سايت Netfirms قرار دادم.چند روزی است که اين سايت دچار مشکل شده است. برای همين تصاوير قابل ديدن نيستند و نمی توانيد مستندات را دانلود کنيد. خوب سايتهای مجانی همين مشکلات را هم دارند. به علت مشغله زياد تا اطلاع ثانوی وقت اصلاح و به روز کردن سايت را ندارم. دوستانی که مستندات را می خواهند ايميل بزنند. از دوستان خواهشمندم اگر می خواهيد فارسی بفرستيد لطفا به صورت UTF-8 بفرستيد نه به صورت Arabic. برای اين کار ابتدا مرورگر را به مد Unicode ببريد با انتخاب View->Encoding->Unicode می توانيد اينکار را بکنيد و سپس شروع به تايپ فارسی کنيد.
تمامی تصاوير؛ منو و موارد دانلود را روی سايت Netfirms قرار دادم.چند روزی است که اين سايت دچار مشکل شده است. برای همين تصاوير قابل ديدن نيستند و نمی توانيد مستندات را دانلود کنيد. خوب سايتهای مجانی همين مشکلات را هم دارند. به علت مشغله زياد تا اطلاع ثانوی وقت اصلاح و به روز کردن سايت را ندارم. دوستانی که مستندات را می خواهند ايميل بزنند. از دوستان خواهشمندم اگر می خواهيد فارسی بفرستيد لطفا به صورت UTF-8 بفرستيد نه به صورت Arabic. برای اين کار ابتدا مرورگر را به مد Unicode ببريد با انتخاب View->Encoding->Unicode می توانيد اينکار را بکنيد و سپس شروع به تايپ فارسی کنيد.
جمعه، اسفند ۰۲، ۱۳۸۱
نحوه ساختن مستند فارسی در قالب PDF
کافی است بعد از نصب MS Office 2000 / XP نرم افزار Adobe Acrobat Reader&Writer Full 5.0 را نصب کنيد با نصب آن بايد در قسمت چاپگر Acrobat Distiller و Acrobat PDFWriter نصب شود. حال در Word بعد از تايپ مستند خود روی منوی File بعد Print را انتخاب کنيد يا با کليد ترکيبی Ctrl+P آنرا اجرا کنيد سپس نام چاپگر را Acrobat Distiller انتخاب کنيد و دکمه OK را بزنيد بعد نام فايل از شما پرسيده می شود
مسير و نام دلخواه فايل را انتخاب کرده و دکمه OK را بزنيد بعد از چند دقيقه فايل ساخته شده و بطور خودکار برنامه Acrobat Reader انرا اجرا و نمايش می دهد.
کافی است بعد از نصب MS Office 2000 / XP نرم افزار Adobe Acrobat Reader&Writer Full 5.0 را نصب کنيد با نصب آن بايد در قسمت چاپگر Acrobat Distiller و Acrobat PDFWriter نصب شود. حال در Word بعد از تايپ مستند خود روی منوی File بعد Print را انتخاب کنيد يا با کليد ترکيبی Ctrl+P آنرا اجرا کنيد سپس نام چاپگر را Acrobat Distiller انتخاب کنيد و دکمه OK را بزنيد بعد نام فايل از شما پرسيده می شود
مسير و نام دلخواه فايل را انتخاب کرده و دکمه OK را بزنيد بعد از چند دقيقه فايل ساخته شده و بطور خودکار برنامه Acrobat Reader انرا اجرا و نمايش می دهد.
Context Cartridge, interMedia Text, Oracle Text
تمام اين مفاهيم يکی هستند. Context Cartridge برای Oracle8.0.x و interMedia در Oracle8i و Oracle Tex در Oracle9i استفاده می شود.
Oracle Text چيست؟
Oracle Text قسمتی از اوراکل 9i است که در نسخه Standard و Enterprise وجود دارد.Oracle Text برای Index کردن, جستجو کردن, آناليز متن و ذخيره مستندات در بانک اطلاعاتی اوراکل , در فايل و در وب از SQL استاندارد استفاده می کند. Oracle Text می تواند مستندات را آناليزکند و با روشهای مختلف شامل کلمه کليدی, عملگرهای منطقی (AND, OR) متن های با فرمت و بدون فرمت يا حتی متن HTML/XML را جستجو کند. Oracle Text زبانهای مختلف از جمله فارسی, ژاپنی, کره ای, چينی را پشتيبانی می کند.
interMedia چيست؟
interMedia تمامی خصوصيات و توابع قبلی اوراکل با محصولات تصوير, صوت, فيلم و سرويسهای موقعيت جغرافيايی را برای برنامه های کاربردی Web Content Management با Oracle8i Internet Platform يکپارچه می کند.معماری interMedia در اوراکل 8i بطور کامل تکميل شده است تا با بالاترين يکپارچگی و بهبود بتواند جستجو را بهتر انجام دهد واستفاده از آن آسان باشد و دارای قابليت جديد جستجوی ريشه ای است منظورجستجو مربوط به موضوع است.
مشکل Oracle Text در نسخه 9i Release2 حل شد.
در مستندی که آدرس آن در زير آمده است. نحوه نصب Oracle Text در اوراکل نسخه 9i گفته شده است. Context Cartridge را سه سال پيش در يک پروژه روی اوراکل 8.0.5 و بعد از آن روی 8i اجرا کردم.نحوه ايندکس سازی در 8.0.5 با 8i خيلی فرق می کند ولی 8i با 9i يکی است. در اوراکل 8.0.5 برای اينکه جستجو ها کار کنند بايد يک دستور را در محيط Command Dos Prompt اجرا می کرديم و هر چند وقت يکبار بايد آن را Stop و Start می کرديم ولی از نسخه 8i به بعد اين مشکل حل شد و حتی نحوه ايندکس سازی نيز آسان شده است. وديگر به اجرای دستور اضافی نيست و با راه اندازی Instance اوراکل آن هم اجرا می شود.
برای اطلاعات بيشتر؛ نحوه نصب Oracle Text به دو شکل گرافيکی يا بطور دستی با اجرای Script های لازم و توضيح کامل ايجاد جستجوهای مختلف را می توانيد به اين آدرس که يک مستند فارسی در قالب PDF است مراجعه کنيد.
تمام اين مفاهيم يکی هستند. Context Cartridge برای Oracle8.0.x و interMedia در Oracle8i و Oracle Tex در Oracle9i استفاده می شود.
Oracle Text چيست؟
Oracle Text قسمتی از اوراکل 9i است که در نسخه Standard و Enterprise وجود دارد.Oracle Text برای Index کردن, جستجو کردن, آناليز متن و ذخيره مستندات در بانک اطلاعاتی اوراکل , در فايل و در وب از SQL استاندارد استفاده می کند. Oracle Text می تواند مستندات را آناليزکند و با روشهای مختلف شامل کلمه کليدی, عملگرهای منطقی (AND, OR) متن های با فرمت و بدون فرمت يا حتی متن HTML/XML را جستجو کند. Oracle Text زبانهای مختلف از جمله فارسی, ژاپنی, کره ای, چينی را پشتيبانی می کند.
interMedia چيست؟
interMedia تمامی خصوصيات و توابع قبلی اوراکل با محصولات تصوير, صوت, فيلم و سرويسهای موقعيت جغرافيايی را برای برنامه های کاربردی Web Content Management با Oracle8i Internet Platform يکپارچه می کند.معماری interMedia در اوراکل 8i بطور کامل تکميل شده است تا با بالاترين يکپارچگی و بهبود بتواند جستجو را بهتر انجام دهد واستفاده از آن آسان باشد و دارای قابليت جديد جستجوی ريشه ای است منظورجستجو مربوط به موضوع است.
مشکل Oracle Text در نسخه 9i Release2 حل شد.
در مستندی که آدرس آن در زير آمده است. نحوه نصب Oracle Text در اوراکل نسخه 9i گفته شده است. Context Cartridge را سه سال پيش در يک پروژه روی اوراکل 8.0.5 و بعد از آن روی 8i اجرا کردم.نحوه ايندکس سازی در 8.0.5 با 8i خيلی فرق می کند ولی 8i با 9i يکی است. در اوراکل 8.0.5 برای اينکه جستجو ها کار کنند بايد يک دستور را در محيط Command Dos Prompt اجرا می کرديم و هر چند وقت يکبار بايد آن را Stop و Start می کرديم ولی از نسخه 8i به بعد اين مشکل حل شد و حتی نحوه ايندکس سازی نيز آسان شده است. وديگر به اجرای دستور اضافی نيست و با راه اندازی Instance اوراکل آن هم اجرا می شود.
برای اطلاعات بيشتر؛ نحوه نصب Oracle Text به دو شکل گرافيکی يا بطور دستی با اجرای Script های لازم و توضيح کامل ايجاد جستجوهای مختلف را می توانيد به اين آدرس که يک مستند فارسی در قالب PDF است مراجعه کنيد.
دوشنبه، بهمن ۲۸، ۱۳۸۱
سايت آقای فکری نجات
علاقمند به Linux ,Java,C#,Flash MX می توانند به اين سايت مراجعه کنند. دراين سايت می توانيد مقالات در قالب PDF به زبان فارسی بيابيد.
علاقمند به Linux ,Java,C#,Flash MX می توانند به اين سايت مراجعه کنند. دراين سايت می توانيد مقالات در قالب PDF به زبان فارسی بيابيد.
شنبه، بهمن ۲۶، ۱۳۸۱
Oracle SQL Loader ذخيره يک فايل متنی در اوراکل
براي ذخيره يک فايل متني داخل اوراکل از SQL Loader استفاده مي کنيم نحوه کار را با يک مثال بيان مي کنيم فرض کنيد مي خواهيد يک فايل متني به شکل زير را داخل بانک اطلاعات اوراکل ببريد. کافی است آنرا با يک نام ذخيره کنيد مثلا test.txt . تمامی فايلهای لازم را به صورت يک ZIP فايل می توانيد دانلود کنيد. مثال آورده شده برای ذخيره نام و نام خانوادگی و ID آنهاست.
بايد نوع اطلاعات فايل متن با جدولی که در بانک اوراکل قرار دارد يکسان باشد ولی به ترتيب و تعداد آن بستگی ندارد به شرطی که نوع فيلد در جدول اوراکل NOT NULL نباشد.مثلا در جدول اوراکل پنج تا فيلد داريد و در فايل متنی سه تا داريد.اطلاعات داخل فايل متنی بايد با سه تا فيلد جدول اوراکل هم نوع باشند مثلا از نوع متنی يا عدد باشند. و دو تای ديگر نبايد از نوع NOT NULL باشد چون موقع ذخيره اطلاعات پيغام خطا می دهد. در اين مثال سه تا اطلاعات وجود دارد يکی از نوع عدد غير تکراری و دو تای ديگر از نوع متنی که در اورراکل با نوع VARCHAR2 است. برای شروع ابتدا يک جدول در اوراکل می سازيم کافی است با برنامه SQL Plus با کاربر SCOTT و
رمز عبور TIGER وارد اوراکل شويد و Script زير را در محيط SQL Plus تايپ کنيد.
حال يک فايل بنام test.ctl که بنام Cotrol است ايجاد کنيد نحوه ايجاد در زير آمده است. نام فايلها دلخواه می باَشد هر نامی را که دوست داريد انتخاب کنيد.
در اينجا نام فايل متن و نام و ترتيب فيلدها که مطابق با فايل متن است آورده می شود. بعد از INFILE نام فايل متن می آيد. بعد از INTO TABLE نام جدولی که در اوراکل ساختيد آورده می شود.
قسمت FIELDS TERMINATED BY نشان می دهد که جدا کننده اطلاعات با چه کاراکتری است که اينجا با کامايعنی , است و بايد طبق فايل متن باشدOPTIONALLY ENCLOSED BY نشان دهنده اين است که رشته های متنی داخل چه کاراکتری قرار دارند.در اينجا با کوتيشن يعنی " بيان شده است.
سپس يک فايل ديگر حتما با پسوند BAT ايجاد کنيد که بعدا اين فايل را در محيط Command Prompt Dos اجرا می کنيم نحو ايجاد در پايين آمده است.در اوراکل نسخه 8i به بعد از sqlldr و در 8.0 از sqlldr80 می توانيد استفاده کنيد. بعد از userid نام کاربر؛ رمز عبور و service name می آيد که نحوه اتصال به اوراکل را نشان می دهد. بعد از control نام فايل کنترل می آيد. اين يک خلاصه از نحوه ذخيره اطلاعات متن داخل اوراکل بود برای ازاطلاعات بيشتر به مستندات اوراکل مراجعه کنيد.
نکته قابل توجه: فايل اجرايی test.bat را بايد روی سرور اوراکل يا روی Client ای که Oracle Client را نصب کرده ايد و دارای فايل sqlldr.exe يا sqlldr80.exe است اجراکنيد.
فايلهای لازم را می توانيد از اينجا دانلود کنيد.
براي ذخيره يک فايل متني داخل اوراکل از SQL Loader استفاده مي کنيم نحوه کار را با يک مثال بيان مي کنيم فرض کنيد مي خواهيد يک فايل متني به شکل زير را داخل بانک اطلاعات اوراکل ببريد. کافی است آنرا با يک نام ذخيره کنيد مثلا test.txt . تمامی فايلهای لازم را به صورت يک ZIP فايل می توانيد دانلود کنيد. مثال آورده شده برای ذخيره نام و نام خانوادگی و ID آنهاست.
1,"Mohammad","Rajabi" |
بايد نوع اطلاعات فايل متن با جدولی که در بانک اوراکل قرار دارد يکسان باشد ولی به ترتيب و تعداد آن بستگی ندارد به شرطی که نوع فيلد در جدول اوراکل NOT NULL نباشد.مثلا در جدول اوراکل پنج تا فيلد داريد و در فايل متنی سه تا داريد.اطلاعات داخل فايل متنی بايد با سه تا فيلد جدول اوراکل هم نوع باشند مثلا از نوع متنی يا عدد باشند. و دو تای ديگر نبايد از نوع NOT NULL باشد چون موقع ذخيره اطلاعات پيغام خطا می دهد. در اين مثال سه تا اطلاعات وجود دارد يکی از نوع عدد غير تکراری و دو تای ديگر از نوع متنی که در اورراکل با نوع VARCHAR2 است. برای شروع ابتدا يک جدول در اوراکل می سازيم کافی است با برنامه SQL Plus با کاربر SCOTT و
رمز عبور TIGER وارد اوراکل شويد و Script زير را در محيط SQL Plus تايپ کنيد.
create table test(id number(3) primary key, |
حال يک فايل بنام test.ctl که بنام Cotrol است ايجاد کنيد نحوه ايجاد در زير آمده است. نام فايلها دلخواه می باَشد هر نامی را که دوست داريد انتخاب کنيد.
در اينجا نام فايل متن و نام و ترتيب فيلدها که مطابق با فايل متن است آورده می شود. بعد از INFILE نام فايل متن می آيد. بعد از INTO TABLE نام جدولی که در اوراکل ساختيد آورده می شود.
قسمت FIELDS TERMINATED BY نشان می دهد که جدا کننده اطلاعات با چه کاراکتری است که اينجا با کامايعنی , است و بايد طبق فايل متن باشدOPTIONALLY ENCLOSED BY نشان دهنده اين است که رشته های متنی داخل چه کاراکتری قرار دارند.در اينجا با کوتيشن يعنی " بيان شده است.
Load Data |
سپس يک فايل ديگر حتما با پسوند BAT ايجاد کنيد که بعدا اين فايل را در محيط Command Prompt Dos اجرا می کنيم نحو ايجاد در پايين آمده است.در اوراکل نسخه 8i به بعد از sqlldr و در 8.0 از sqlldr80 می توانيد استفاده کنيد. بعد از userid نام کاربر؛ رمز عبور و service name می آيد که نحوه اتصال به اوراکل را نشان می دهد. بعد از control نام فايل کنترل می آيد. اين يک خلاصه از نحوه ذخيره اطلاعات متن داخل اوراکل بود برای ازاطلاعات بيشتر به مستندات اوراکل مراجعه کنيد.
sqlldr userid=scott/tiger@farsi control=test.ctl errors=500000 silent=header |
نکته قابل توجه: فايل اجرايی test.bat را بايد روی سرور اوراکل يا روی Client ای که Oracle Client را نصب کرده ايد و دارای فايل sqlldr.exe يا sqlldr80.exe است اجراکنيد.
فايلهای لازم را می توانيد از اينجا دانلود کنيد.
جمعه، بهمن ۲۵، ۱۳۸۱
Oracle.NET
اگر می خواهيد از طريق Vitual.NET به اوراکل وصل شويد به اين سايت مراجعه کنيد البته بايد بگويم که من آزمايش کردم ولی موفق نشدم بد نيست شما هم آزمايش کنيد.
اگر می خواهيد از طريق Vitual.NET به اوراکل وصل شويد به اين سايت مراجعه کنيد البته بايد بگويم که من آزمايش کردم ولی موفق نشدم بد نيست شما هم آزمايش کنيد.
Drive Image2002 برای پشتيبان گيری هارد کامپيوتر
اگر می خواهيد که Windows کامپيوتر شما به هر نحوی اشکال داشت يا کار نمی کند يا ويروسی شده و يا اصلا هارد خود را فرمت کرديد در عرض حداکثر 15 الی 20 دقيقه با تمامی Config ها و نرم افزارهايی که قبلا نصب کرديد به حالت سابق برگردد بهتراست از نرم افزار Drive Image 2002 استفاده کنيد. فوق العاده است. کافی است بعد از نصب Windows و تمامی نرم افزارهای مورد نياز با DriveImage 2002 يک Image از هارد خود بگيريد اين نرم افزار قابليت ارسال مستقيم Image هارد شما به CD Writer را دارد و بطور خودکار CD را نيز Boot able می سازد. حال به هر نحوی هارد شما آسيب ديد و Windows و برنامه های شما کار نمی کند کافی است CD را در درايو قرار داده و اطلاعات را دوباره نويسی کنيد. با اين نرم افزار حتی می شود چندين Windows محتلف را نصب کنيد و از هر کدام يک Image بگيريد و در صورت نياز هر کدام را که دوست داريد استفاده کنيد که بيشتر به درد اين می خورد که می خواهيد نرم افزار خود را با Windows ها و زبانهای مختلف آزمايش کنيد آن هم فقط با يک کامپيوتر.
اگر می خواهيد که Windows کامپيوتر شما به هر نحوی اشکال داشت يا کار نمی کند يا ويروسی شده و يا اصلا هارد خود را فرمت کرديد در عرض حداکثر 15 الی 20 دقيقه با تمامی Config ها و نرم افزارهايی که قبلا نصب کرديد به حالت سابق برگردد بهتراست از نرم افزار Drive Image 2002 استفاده کنيد. فوق العاده است. کافی است بعد از نصب Windows و تمامی نرم افزارهای مورد نياز با DriveImage 2002 يک Image از هارد خود بگيريد اين نرم افزار قابليت ارسال مستقيم Image هارد شما به CD Writer را دارد و بطور خودکار CD را نيز Boot able می سازد. حال به هر نحوی هارد شما آسيب ديد و Windows و برنامه های شما کار نمی کند کافی است CD را در درايو قرار داده و اطلاعات را دوباره نويسی کنيد. با اين نرم افزار حتی می شود چندين Windows محتلف را نصب کنيد و از هر کدام يک Image بگيريد و در صورت نياز هر کدام را که دوست داريد استفاده کنيد که بيشتر به درد اين می خورد که می خواهيد نرم افزار خود را با Windows ها و زبانهای مختلف آزمايش کنيد آن هم فقط با يک کامپيوتر.
مشکل Oracle Text در نسخه 9i Release 2
اوراکل نسخه 9iای که از اينترنت دانلود کردم هنگام ايجاد بانک اطلاعات مشکل دارد و آن بر می گردد به قسمت Oracle Text که هنگام ايجاد آن يک ديالوگ باکس خالی به عنوان اشکال بر می گرداند که چند باری سعی در ايجاد آن داشتم مشکل برمی گردد به يک متغيير که مقدار NULL دارد و Exception Java آن را به صورت اشکال بر می گرداند با ارتقاء JDK, JRE 1.2 به 1.4 باز اشکال همچنان پابرجاست. اگر دوستانی که اين مشکل را حل کردند محبت کنند به من هم بگويند
اوراکل نسخه 9iای که از اينترنت دانلود کردم هنگام ايجاد بانک اطلاعات مشکل دارد و آن بر می گردد به قسمت Oracle Text که هنگام ايجاد آن يک ديالوگ باکس خالی به عنوان اشکال بر می گرداند که چند باری سعی در ايجاد آن داشتم مشکل برمی گردد به يک متغيير که مقدار NULL دارد و Exception Java آن را به صورت اشکال بر می گرداند با ارتقاء JDK, JRE 1.2 به 1.4 باز اشکال همچنان پابرجاست. اگر دوستانی که اين مشکل را حل کردند محبت کنند به من هم بگويند
چهارشنبه، بهمن ۰۹، ۱۳۸۱
قابل توجه طرفداران SQL Server Microsoft
بد نيست به خبر دهشتناک توجه کنيد. حمله بزرگ اينترنتی و نقص در SQL Server , بازم حرف از SQL Server می زنيد.
بد نيست به خبر دهشتناک توجه کنيد. حمله بزرگ اينترنتی و نقص در SQL Server , بازم حرف از SQL Server می زنيد.
بيل گيتس ثروتمند
1 - بيل گيتس در هر ثانيه 250 دلار آمريكا درامد داره، يعني 20 ميليون دلار در روز و 8/7 ميليارد دلار در سال!
2 – اگر 1000 دلار از دست وي بر زمين بيوفته به خودش اين دردسر رو نميده كه برش داره، چون در 4 ثانيه اي كه برداشتنش طول ميكشه، اين پول عايدش شده!
3 – آمريكا در حدود 62/5 هزار ميليارد دلار بدهي داره و بيل گيتس به تنهايي ميتونه ظرف 10 سال تمام بدهي آمريكا را بازپرداخت كنه!
4 – او ميتونه نفري 15 دلار به همه جمعيت جهان بده و باز هم 5 ميليون دلار در جيبش باقي خواهد ماند!
5 – اگر مايكل جردن يعني گرانترين ورزشكار آمريكايي هيچ غذا و آبي نخوره و همه 30 ميليون دلار درامد سالانه اش رو پس انداز كنه، 227 سال طول خواهد كشيد تا به ثروتمندي بيل گيتس بشه!
6 – اگر بيل گيتس رو به صورت يك كشور تصور كنيم، 37 مين كشور ثروتمند جهان ميشه! يا به تنهايي درامدي برابر سيزدهمين كمپاني عظيم آمريكايي خواهد داشت، حتي بيشتر از آي بي ام!
7 – اگر همه ثروت بيل گيتس رو تبديل به يك دلاري كنيم ، ميشه جاده اي از ماه تا زمين باهاش كشيد كه 14 بار رفته و برگشته! ولي ساخت اين جاده، 1400 سال طول خواهد كشيد و 713 بوئينگ 747 بايد براي جابجايي اين پول ها پرواز كنند.
8 – بيل گيتش امسال 40 ساله ميشه. اگر فرض رو بر اين بگيريم كه هنوز 35 سال ديگه هم زنده خواهد بود، ميتونه روزي 78/6 ميليون دلار خرج كنه قبل از اينكه به بهشت بره!
اما!!! اگر كاربران ويندوزهاي مايكروسافت بتونن بابت هرباري كه كامپيوترشون هنگ ميكنه، يك دلار از بيل گيتس خسارت بگيرن، وي تنها در 3 سال ورشكست خواهد شد!!
1 - بيل گيتس در هر ثانيه 250 دلار آمريكا درامد داره، يعني 20 ميليون دلار در روز و 8/7 ميليارد دلار در سال!
2 – اگر 1000 دلار از دست وي بر زمين بيوفته به خودش اين دردسر رو نميده كه برش داره، چون در 4 ثانيه اي كه برداشتنش طول ميكشه، اين پول عايدش شده!
3 – آمريكا در حدود 62/5 هزار ميليارد دلار بدهي داره و بيل گيتس به تنهايي ميتونه ظرف 10 سال تمام بدهي آمريكا را بازپرداخت كنه!
4 – او ميتونه نفري 15 دلار به همه جمعيت جهان بده و باز هم 5 ميليون دلار در جيبش باقي خواهد ماند!
5 – اگر مايكل جردن يعني گرانترين ورزشكار آمريكايي هيچ غذا و آبي نخوره و همه 30 ميليون دلار درامد سالانه اش رو پس انداز كنه، 227 سال طول خواهد كشيد تا به ثروتمندي بيل گيتس بشه!
6 – اگر بيل گيتس رو به صورت يك كشور تصور كنيم، 37 مين كشور ثروتمند جهان ميشه! يا به تنهايي درامدي برابر سيزدهمين كمپاني عظيم آمريكايي خواهد داشت، حتي بيشتر از آي بي ام!
7 – اگر همه ثروت بيل گيتس رو تبديل به يك دلاري كنيم ، ميشه جاده اي از ماه تا زمين باهاش كشيد كه 14 بار رفته و برگشته! ولي ساخت اين جاده، 1400 سال طول خواهد كشيد و 713 بوئينگ 747 بايد براي جابجايي اين پول ها پرواز كنند.
8 – بيل گيتش امسال 40 ساله ميشه. اگر فرض رو بر اين بگيريم كه هنوز 35 سال ديگه هم زنده خواهد بود، ميتونه روزي 78/6 ميليون دلار خرج كنه قبل از اينكه به بهشت بره!
اما!!! اگر كاربران ويندوزهاي مايكروسافت بتونن بابت هرباري كه كامپيوترشون هنگ ميكنه، يك دلار از بيل گيتس خسارت بگيرن، وي تنها در 3 سال ورشكست خواهد شد!!
چهارشنبه، بهمن ۰۲، ۱۳۸۱
یکشنبه، دی ۲۹، ۱۳۸۱
از خانم هاشمی سپاس گزارم
اکثر شما خانم هاشمی را می شناسيد و لازم به معرفی نيست با 15 سال سابقه کار که تا الان 11 سال آن فقط در فيلد اوراکل بوده است. مهندس و استاد و مدرس برتر اوراکل در ايران. در حال حاضرايشان با شرکت FourStar در دبی و شرکت عصردانش افزار در ايران همکاری دارند. اواخر آذر سال 1380 من و ايشان شروع به حل مشکل سورت در اوراکل شديم پايه اوليه فايلهای NLB و NLT را ايشان به من گفتند در آن سال در اوراکل 8i يک کاراکترست جديد ساختيم که آزمايشهای اوليه آنرا انجام داديم. ولی با اين کار مجبور بوديم اطلاعات قبلی را Convert کنيم. درآن زمان محصول Locale Builder تازه با اوراکل 9i آمده بود. داشيم کار را ادامه می داديم که با آمدن من به آلمان اين پروژه کوچک قريب به يک سال متوقف شد. يکی ماه پيش داشتم توی اينترنت گشت و گذار می کردم درمستندات اوراکل چشمم به کلمه Persian خورد. حس کنجکاويم را تحريک کرد. بعد از مطالعه آن ديدم که مربوط به قسمت تاريخ شمسی در اوراکل است که تا اين زمان اطلاعی از آن نداشتم بعد از مطالعه و آزمايشهای اوليه نتيجه آنرا در وب لاگ قرار دادم. ولی سورت فارسی هميشه ذهن مرا مشغول کرده بود با الاخره با خواندن مستندات محصول Locale Builder و آزمايشهای زياد روی کاراکترستهای مختلف و مطمئن شدن از صحت آن نتايج آنرا در وب لاگ قرار دادم.
اکثر شما خانم هاشمی را می شناسيد و لازم به معرفی نيست با 15 سال سابقه کار که تا الان 11 سال آن فقط در فيلد اوراکل بوده است. مهندس و استاد و مدرس برتر اوراکل در ايران. در حال حاضرايشان با شرکت FourStar در دبی و شرکت عصردانش افزار در ايران همکاری دارند. اواخر آذر سال 1380 من و ايشان شروع به حل مشکل سورت در اوراکل شديم پايه اوليه فايلهای NLB و NLT را ايشان به من گفتند در آن سال در اوراکل 8i يک کاراکترست جديد ساختيم که آزمايشهای اوليه آنرا انجام داديم. ولی با اين کار مجبور بوديم اطلاعات قبلی را Convert کنيم. درآن زمان محصول Locale Builder تازه با اوراکل 9i آمده بود. داشيم کار را ادامه می داديم که با آمدن من به آلمان اين پروژه کوچک قريب به يک سال متوقف شد. يکی ماه پيش داشتم توی اينترنت گشت و گذار می کردم درمستندات اوراکل چشمم به کلمه Persian خورد. حس کنجکاويم را تحريک کرد. بعد از مطالعه آن ديدم که مربوط به قسمت تاريخ شمسی در اوراکل است که تا اين زمان اطلاعی از آن نداشتم بعد از مطالعه و آزمايشهای اوليه نتيجه آنرا در وب لاگ قرار دادم. ولی سورت فارسی هميشه ذهن مرا مشغول کرده بود با الاخره با خواندن مستندات محصول Locale Builder و آزمايشهای زياد روی کاراکترستهای مختلف و مطمئن شدن از صحت آن نتايج آنرا در وب لاگ قرار دادم.
با سلام دوباره
بيش از يک هفته است که مطلب ننوشته ام . علت آن تغيير Linux7.3 به Linux8 بود که مجبور به پارتيشن بندی جديد و نصب مجدد Windows2000 و Linux8 شدم . که خيلی از وقتم را گرفت و تا حالا داشتم نرم افزارهای مورد استفاده را نصب می کردم. ولی بايد بگويم که به خاطر تغيير مکان شايد نتوانم تا اطلاع بعدی مطلبی بنويسم.
بيش از يک هفته است که مطلب ننوشته ام . علت آن تغيير Linux7.3 به Linux8 بود که مجبور به پارتيشن بندی جديد و نصب مجدد Windows2000 و Linux8 شدم . که خيلی از وقتم را گرفت و تا حالا داشتم نرم افزارهای مورد استفاده را نصب می کردم. ولی بايد بگويم که به خاطر تغيير مکان شايد نتوانم تا اطلاع بعدی مطلبی بنويسم.
پنجشنبه، دی ۱۹، ۱۳۸۱
نکته بسيار مهم در مورد Export / Inpoert اوراکل و صفحات وب
گاهی اوقات ممکن است بيشتر از يک Instance اوراکل روی يک کامپيوتر ايجاد کنيد مثلا با کاراکترست WE8ISO8859P1 و AR8MSWIN1256 و يا UTF8 و در Reggistery Windows پارامتر NLS_LANG را به ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256 تغيير داده باَشيد. حال اگر می خواهيد از اطلاعات خود با ابزار Export کپی پشيبان بگيريد با يد توجه کنيد که فقط اطلاعات با کاراکترست AR8MSWIN1256 و UTF8 درست خواهد بود و اگر از اطلاعات WE8ISO8859P1 کپی پشتيبان تهيه کنيد و يکبار ديگر با Import آنرا در بانک اوراکل قرار دهيد همه چيز به علامت سوال تبديل می شود. برای اين کار دو راه وجود دارد يکی اين که NLS_LANG را روی همان ماشين به AMERICAN_AMERICA.WE8ISO8859P1 تبديل کنيد و مجددا برنامه Export را استفاده کنيد يا اينکه از يک ماشين ديگر که Registery آن مطابق کاراکترست بانک اوراکل باشد برنامه Export را اجراکنيد و کپی پشتيبان بگيريد.
اگر اوراکل 8i داريد و بيشتر از يک Instance مثل WE8ISO8859P1 و AR8MSWIN1256 روی يک ماشين ايجاد کرده ايد و صفحات وب خود را نيز روی همين ماشين داريد مثل ASP بايد توجه کنيد صفحات وب شما نمی تواند با هردو Instance کار کند چون اوراکل 8i به NLS_LANG وابسته است ولی در اوراکل 9i چنين حالتی وجود ندارد و خود اوراکل می گويد نسخه 9i مستقل از NLS_LANG است. من خودم اين را يکسال پيش آزمايش کردم درست بود. حال اگر دو سری صفحه وب داشته باشيد که يکسری از آنها با کاراکترست WE8ISO8859P1 کار می کند و يکسری ديگر با AR8MSWIN1256 و اوراکل 8i داريد چاره چيست؟
استفاده از دو کامپيوتر مجزا است ولی اين کامپيوترها را می توانيد به شکل زير به کار بريد
1- نصب اوراکل سرور روی هر کدام و تنظيم NLS_LANG وکپی صفحات وب مربوط به صورت مجزا که اين کار احتياج به دو سرور قوی دارد.
2- نصب اوراکل سرور و ايجاد دو Instance و کپی يکسری از صفحات وب روی يک دستگاه کامپيوتر و تنظيم درست NLS_LANG که می توانيد يک کامپيوتر قوی در نظربگيريد و نصب Oracle Client و کپی صفحات ديگر وب روی يک کامپيوتر ديگر که می تواند اين کامپيوتر قوی نباشد و تنظيم NLS_LANG روی آن.
گاهی اوقات ممکن است بيشتر از يک Instance اوراکل روی يک کامپيوتر ايجاد کنيد مثلا با کاراکترست WE8ISO8859P1 و AR8MSWIN1256 و يا UTF8 و در Reggistery Windows پارامتر NLS_LANG را به ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256 تغيير داده باَشيد. حال اگر می خواهيد از اطلاعات خود با ابزار Export کپی پشيبان بگيريد با يد توجه کنيد که فقط اطلاعات با کاراکترست AR8MSWIN1256 و UTF8 درست خواهد بود و اگر از اطلاعات WE8ISO8859P1 کپی پشتيبان تهيه کنيد و يکبار ديگر با Import آنرا در بانک اوراکل قرار دهيد همه چيز به علامت سوال تبديل می شود. برای اين کار دو راه وجود دارد يکی اين که NLS_LANG را روی همان ماشين به AMERICAN_AMERICA.WE8ISO8859P1 تبديل کنيد و مجددا برنامه Export را استفاده کنيد يا اينکه از يک ماشين ديگر که Registery آن مطابق کاراکترست بانک اوراکل باشد برنامه Export را اجراکنيد و کپی پشتيبان بگيريد.
اگر اوراکل 8i داريد و بيشتر از يک Instance مثل WE8ISO8859P1 و AR8MSWIN1256 روی يک ماشين ايجاد کرده ايد و صفحات وب خود را نيز روی همين ماشين داريد مثل ASP بايد توجه کنيد صفحات وب شما نمی تواند با هردو Instance کار کند چون اوراکل 8i به NLS_LANG وابسته است ولی در اوراکل 9i چنين حالتی وجود ندارد و خود اوراکل می گويد نسخه 9i مستقل از NLS_LANG است. من خودم اين را يکسال پيش آزمايش کردم درست بود. حال اگر دو سری صفحه وب داشته باشيد که يکسری از آنها با کاراکترست WE8ISO8859P1 کار می کند و يکسری ديگر با AR8MSWIN1256 و اوراکل 8i داريد چاره چيست؟
استفاده از دو کامپيوتر مجزا است ولی اين کامپيوترها را می توانيد به شکل زير به کار بريد
1- نصب اوراکل سرور روی هر کدام و تنظيم NLS_LANG وکپی صفحات وب مربوط به صورت مجزا که اين کار احتياج به دو سرور قوی دارد.
2- نصب اوراکل سرور و ايجاد دو Instance و کپی يکسری از صفحات وب روی يک دستگاه کامپيوتر و تنظيم درست NLS_LANG که می توانيد يک کامپيوتر قوی در نظربگيريد و نصب Oracle Client و کپی صفحات ديگر وب روی يک کامپيوتر ديگر که می تواند اين کامپيوتر قوی نباشد و تنظيم NLS_LANG روی آن.
چهارشنبه، دی ۱۸، ۱۳۸۱
چند نکته راجع به SQL PLUS و Notepad
1- هنگامی که SQL PLUS را در Windows2000 اجرا می کنيد وقتی چهار حرف گچپژ و حرف کاف را تايپ می کنيد به صورت نقطه چين می بينيد که اين عمل هيچ مشکلی درذخيره اطلاعات بوجود نمی آورد قفط در هنگام نمايش آنها را به تقطه چين تبديل می کند ولی اطلاعات را در Windows98 , وب و فرمهای اوراکل بطور صحيح می بينيد.
2- وقتی در SQL PLUS فارسی تايپ می کنيد و آنرا به طريق Copy / Paste در Notepad قرار می دهيد همه چيز درست است ولی هنگامی که اين کاررا برعکس انجام می دهيد علامت سوال می بينيد يا وقتی با دستور Select اطلاعات را در يک فايل متنی ذخيره می کنيد مثل Spool file و می خواهيد يک بار ديگر آنرا در SQL PLUS تحت Windows2000 اجرا کنيد همه چيز تبديل به علامت سوال می شود خب چاره چيست؟ کافی است وقتی می خواهيد يک متن را در Notepad ذخيره کنيد قسمت Encoding را به UTF-8 تبديل کنيد.
1- هنگامی که SQL PLUS را در Windows2000 اجرا می کنيد وقتی چهار حرف گچپژ و حرف کاف را تايپ می کنيد به صورت نقطه چين می بينيد که اين عمل هيچ مشکلی درذخيره اطلاعات بوجود نمی آورد قفط در هنگام نمايش آنها را به تقطه چين تبديل می کند ولی اطلاعات را در Windows98 , وب و فرمهای اوراکل بطور صحيح می بينيد.
2- وقتی در SQL PLUS فارسی تايپ می کنيد و آنرا به طريق Copy / Paste در Notepad قرار می دهيد همه چيز درست است ولی هنگامی که اين کاررا برعکس انجام می دهيد علامت سوال می بينيد يا وقتی با دستور Select اطلاعات را در يک فايل متنی ذخيره می کنيد مثل Spool file و می خواهيد يک بار ديگر آنرا در SQL PLUS تحت Windows2000 اجرا کنيد همه چيز تبديل به علامت سوال می شود خب چاره چيست؟ کافی است وقتی می خواهيد يک متن را در Notepad ذخيره کنيد قسمت Encoding را به UTF-8 تبديل کنيد.
هيچ اطلاعاتی لازم نيست تغيير کند
با مطلبی که راجع به , چطور در اوراکل تاريخ شمسی و سورت فارسی داشته باشيد نوشته شد هيچ احتياجی به تغيير اطلاعات و فرمهای اوراکل خود نداريد فقط در يک حالت اگر Instance اوراکل را به صورت پيش فرض WE8ISO8859P1 ايجاد کرده باشيد و بخواهيد در محيط وب کار کنيد با چهار حرف گچپژ مشکل خواهيد داشت ولی اگر به صورت Client/Server يعنی با فرمهای اوراکل کار می کنيد چنين مشکلی را نداريد و می توانيد تاريخ شمسی و سورت فارسی را داشته باشيد برای اينکه در محيط وب نيز فارسی را داشته باشيد بايد يک Instance جديد با کاراکترست AR8MSWIN1256 ايجاد کنيد و اطلاعات خود را از حالت قبل يعنی WE8ISO8859P1 به جديد انتقال دهيد و اين کار با Export و Inport براحتی قابل انجام نيست و در ضمن بايد فرمهای اوراکل خود را نيز تغيير دهيد برای اين کار می توانيد از ابزار Oracle Translater استفاده کنيد . يک راه برای تغيير اطلاعات به Instance جديد اينست که در حالت قبل اطلاعات را به صورت متن ساده (text) تبديل کنيد و آنرا در Instance جديد با ابزار Oracle Loader ذخيره کنيد. ولی به کمی تجربه نياز دارد. انشاء الله در آينده نزديک راجع به Oracle Loader صحبت خواهد شد.
با مطلبی که راجع به , چطور در اوراکل تاريخ شمسی و سورت فارسی داشته باشيد نوشته شد هيچ احتياجی به تغيير اطلاعات و فرمهای اوراکل خود نداريد فقط در يک حالت اگر Instance اوراکل را به صورت پيش فرض WE8ISO8859P1 ايجاد کرده باشيد و بخواهيد در محيط وب کار کنيد با چهار حرف گچپژ مشکل خواهيد داشت ولی اگر به صورت Client/Server يعنی با فرمهای اوراکل کار می کنيد چنين مشکلی را نداريد و می توانيد تاريخ شمسی و سورت فارسی را داشته باشيد برای اينکه در محيط وب نيز فارسی را داشته باشيد بايد يک Instance جديد با کاراکترست AR8MSWIN1256 ايجاد کنيد و اطلاعات خود را از حالت قبل يعنی WE8ISO8859P1 به جديد انتقال دهيد و اين کار با Export و Inport براحتی قابل انجام نيست و در ضمن بايد فرمهای اوراکل خود را نيز تغيير دهيد برای اين کار می توانيد از ابزار Oracle Translater استفاده کنيد . يک راه برای تغيير اطلاعات به Instance جديد اينست که در حالت قبل اطلاعات را به صورت متن ساده (text) تبديل کنيد و آنرا در Instance جديد با ابزار Oracle Loader ذخيره کنيد. ولی به کمی تجربه نياز دارد. انشاء الله در آينده نزديک راجع به Oracle Loader صحبت خواهد شد.
قابل توجه همه دوستان
بعضی از شرکتهای ايرانی فکر می کنند که با حل سورت فارسی موشک هوا کردند و از اين موضوع برای درآمد بيشتر گوش مشتريان خود را به نوعی می برند . تازه بعضی از آنها به غلط اين موضوع را حل کردند يعنی به جای اينکه روی سورت اوراکل کار کنند يک کاراکتر ست جديد تعريف کردن آنهم از روی کاراکترست عربی و بعضی از حروف آن را جابجا کردند. با اين کار تمام اطلاعاتی قبلی غير قابل استفاده می شود و بايد تمامی اطلاعات را به کاراکترست جديد تبديل کنند که باز هم با اين کار پول اضافه تری می گيرند و اگر هم اوراکل فرم داشته باشند ديگه بدتر بايد آنها را هم تبديل کنند و باز بايد پول بيشتر بپردازنند می بينيد چطور برای خود کيسه دوخته اند.يکی از آنها ادعا می کند که شرکت اوراکل ما را پشتيبانی می کند و آنها به ما کمک کردند. يکی از کارشناسان نه بهتر بگويم يکی از مديران شرکت ديگر که مستقيما به خود من گفت که ما کرنل اوراکل را دستکاری کرديم ادب حکم کرد چيزی نگويم ولی اينجا بايد به آن عزيز بگويم شما عمرن بتوانيد اينکار را بکنيد شما اگر فقط بتوانيد خود اوراکل را يک بار نصب کنيد و چهار تا پارامتر آنرا تنظيم کنيد هنر کرديد. آقا برای دستکاری کردن در کرنل اوراکل اولا بايد سورس برنامه را داشته باشيد که فرض محال است ثانيا فرض کنيم که سورس را هم داريد , بايد برنامه نويسی C و Java را در حد حرفی بدانيد و با شناختی من از شما دارم بعيد می دانم اين کاره باشيد.
من از هيچ شرکتی کينه ای ندارم اين مطلب را فقط جهت اطلاع ارسانی به همه دوستان نوشتم .
بعضی از شرکتهای ايرانی فکر می کنند که با حل سورت فارسی موشک هوا کردند و از اين موضوع برای درآمد بيشتر گوش مشتريان خود را به نوعی می برند . تازه بعضی از آنها به غلط اين موضوع را حل کردند يعنی به جای اينکه روی سورت اوراکل کار کنند يک کاراکتر ست جديد تعريف کردن آنهم از روی کاراکترست عربی و بعضی از حروف آن را جابجا کردند. با اين کار تمام اطلاعاتی قبلی غير قابل استفاده می شود و بايد تمامی اطلاعات را به کاراکترست جديد تبديل کنند که باز هم با اين کار پول اضافه تری می گيرند و اگر هم اوراکل فرم داشته باشند ديگه بدتر بايد آنها را هم تبديل کنند و باز بايد پول بيشتر بپردازنند می بينيد چطور برای خود کيسه دوخته اند.يکی از آنها ادعا می کند که شرکت اوراکل ما را پشتيبانی می کند و آنها به ما کمک کردند. يکی از کارشناسان نه بهتر بگويم يکی از مديران شرکت ديگر که مستقيما به خود من گفت که ما کرنل اوراکل را دستکاری کرديم ادب حکم کرد چيزی نگويم ولی اينجا بايد به آن عزيز بگويم شما عمرن بتوانيد اينکار را بکنيد شما اگر فقط بتوانيد خود اوراکل را يک بار نصب کنيد و چهار تا پارامتر آنرا تنظيم کنيد هنر کرديد. آقا برای دستکاری کردن در کرنل اوراکل اولا بايد سورس برنامه را داشته باشيد که فرض محال است ثانيا فرض کنيم که سورس را هم داريد , بايد برنامه نويسی C و Java را در حد حرفی بدانيد و با شناختی من از شما دارم بعيد می دانم اين کاره باشيد.
من از هيچ شرکتی کينه ای ندارم اين مطلب را فقط جهت اطلاع ارسانی به همه دوستان نوشتم .
دوشنبه، دی ۱۶، ۱۳۸۱
ساختن کاراکتر Sort فارسی در اوراکل
مقدمه:
قبل از هر چيز اجازه بدهيد مروری بر نحوه اينکه اوراکل چطور مقادير را مرتب می کند داشته باشيم. زبانهای مختلف سورتهای مختلف دارند کشورهای مختلف ممکن است از الفبای مشترک استفاده کنند ولی سورت مختلف داشته باشند.
اوراکل سه نوع سورت دارد.
- Binary sort
- Monolingual linguistic sort
- Multilingual linguistic sort
Binary sort:
يک روش مرتب کردن داده ها براساس مقادير عددی کاراکترها است که به اين روش باينری سورت می گويند. اين روش خيلی سريع است برای الفبای انگليسی که براساس استاندارد ASCII و EBCDIC کد هستند حروف خودشان مرتب هستند مثلا مقادير A تا Z بطور صعودی مرتب هستند. در استاندارد ASCII همه حروف بزرگ قبل از کوچک هستند و در استاندارد EBCDIC برعکس يعنی حروف کوچک قبل از حروف بزرگ هستند.
Linguistic Sorts
در زبانهای ديگر اگر براساس باينری سورت استفاده شود مثل فارسی, موقع نمايش حروف مرتب نيستند در اين حالت بايد از تکنيک ديگری برای سورت استفاده کرد که به آن Linguistic Sorts می گويند. در اين تکنيک کاراکترها با مقادير عدديشان جابجا می شوند. اوراکل دو نوع linguistic sorts دارد:
1- Monolingual linguistic sort
2- Multilingual linguistic sort
اوراکل در زبان عربی از Monolingual linguistic sort استفاده می کند از آنجايکه زبان فارسی نيز از عربی تبعيت می کند لذا در زبان فارسی نيز از اين نوع استفاده می کنيم. بنابراين از شرح حالت دوم صرف نظر می شود ولی برای اطلاعات بيشتر برای تمامی حالتها می توانيد به اينجا مراجعه کنيد.
Monolingual linguistic sort
در اين روش اوراکل رشته ها را در دو مرحله مقايسه می کند. اولين مرحله مقايسه مقدار بزرگتر يا major value بر اساس جدول major value است. دومين مرحله مقايسه مقدار کوچکتر براساس جدول minor value است. معمولا حروفی که شکل يکسان دارند مقدار Major يکسان دارند .
به جدول زير مشاهده کنيد. حرف a, A, ä, Ä مقدار Major يکسان دارند ولی مقدار Minor آنها فرق می کند.
هر جدول major برای هر کاراکتر شامل Unicode code point و مقدار Major است. Unicode code point يک مقدار 16 بيتی برای نمايش کاراکتر است.
با شرح مختصر بالا به نحوه ساختن يک کاراکتر ست سورت می پردازيم.
ابتدا برنامه Oracle Locale Builder را به طريق زير بر روی ماشينی که Oracle Server را نصب کرديد اجرا می کنيم
Start->Programs->Oracle-OraHome92->Configuration and Migration Tools->Locale Builder
توجه داشته باشيد اگر اين برنامه را نصب نکرده ايد می توانيد CD اوراکل سرور در درايو قرار دهيد و به صورت Custom نصب کنيد و Component مربوطه را بيابيد. يادآوری کنم که اين عمل تغييری در اطلاعات قبلی اوراکل شما نمی دهد برای اطمينان بيشتر سرويس های اوراکل را متوقف کنيد يعنی بانک اوراکل را Shutdown کنيد. نحوه نصب به صورت Custom و نصب Componentها قبلا گفته شده است برای اطلاعات بيشتر روی به قسمت مشکل در اتصال صفحات وب به اوراکل مراجعه کنيد بعد از اجرا برنامه Locale Builder شکل زير را خواهيد داشت
از قسمت سمت چپ آيکون New Language را انتخاب کنيد که شکل زير را می بينيد.
دکمه Show Existing Definitions را فشار دهيد پنجره ای به شکل زير ظاهر خواهد شد
همانطور که در شکل می بينيد پنجره به شش قسمت تقسيم شده است که دو قسمت مخفف Language و Territory است بنا براين تعريف کاراکترست در اوراکل چهار نوع است. که هر کدام شامل يک فايل فيزيکی روی هارد ديسک هستند. که اين فايلها با LX شروع می شوند و دارای پسوند NLB هستند که کامپايل شده NLT هستند. طول نام فايل بدون پسوند 7 کاراکتر است. اين فايلها را می توانيد در محيط Windows در مسير زير ببينيد.
D:\oracle\ora92\ocommon\nls\ADMIN\DATA که D نشان دهنده درايوی است که اوراکل را آنجا نصب کرده ايد.
LX0 نشان دهنده زبان يا Language است.
LX1 نشان دهنده Territory است.
LX2 نشان دهنده کاراکترست است که هنگام ساختن نمونه(Instance) اوراکل استفاده می کنيم مثل AR8MSWIN1256 يا UTF8 و يا WE8ISO8859P1 که قبلا راجع به آنها
صحبت شده است.
LX3 نشان دهنده نحوه سورت است که ما فقط با اين قسمت کار داريم.
برای داشتن سورت فارسی کافی است از سورت عربی استفاده کنيم و چهار حرف گچپژ را به آن اضافه کنيم و آنرا به نام ديگر ذخيره کنيم.
در قسمت (Linguistic Sort(ID آيتم اول (Arabic(21 را انتخاب کنيد . جلوی هر کدام از آيتمهايی که می بينيد داخل پرانتز يک عدد می بينيد که اين عدد ID آن است و منحصر به فرد است.اين عدد در کد هگز است و برای نام فايل استفاده می شود. مثلا ARABIC دارای عدد 21 است اگر اين عدد را به کد دسيمال يا ده دهی تبديل کنيد عدد 15 بدست می آيد و از آنجايی که فايلهای سورت با LX3 شروع می شوند و طول نام فايل 7 کاراکتر است بنابراين نام فايل LX30015 را خواهيد داشت و پسوند آنهم NLB است. با انتخاب آن نام کامل فايل را در همان پنجره خواهيد ديد. بعداز انتخاب آن دکمه Open را بزنيد. اين حالت را نيز می توانيد از منوی عمودی سمت چپ با انتخاب New Linguistic Sort داشته باشيد و سپس دکمه Monolingual Linguistic Sort را بزنيد بعد از آن در پايين پنجره دکمه Show Existing Definitions را بزنيد که فهرستی از زبانهای سورت باز می شود و زبان
(ARABIC(21 را انتخاب و آنرا باز کنيد. بعد انجام اين کار شکل زير را خواهيد داشت.
در اين پنجره و tab page General دو قسمت collection name و collection ID را می بينيد. که با انتخاب زبان سورت عربی دو مقدار ARABIC و عدد 21 را خواهيد ديد حال آنها را تغيير دهيد در قسمت
collection name هر نامی را که دوست داريد می توانيد انتخاب کنيد ولی چون اوراکل در قسمت تاريخ فارسی از Persian استفاده می کند برای مطابقت با آن اين قسمت را Persian انتخاب کنيد . دکمه tab را بزنيد و به قسمت collection ID برويد مقدار ID بايد منحصر به فرد باشد يعنی غير تکراری که می توانيد مقادير بين 1000 و 2000 انتخاب کنيد. بعنوان مثال می توانيد 1004 را انتخاب کنيد بعد از تغييرات شکلی مثل زير را خواهيد ديد.
بعد از تغيير مقادير آنرا ذخيره کنيد توجه داشته باشيد اصلا نبايد نام فايل را تغيير دهيد به همان دليل که در بالا گفته شد.نام فايل براساس ID ساخته می شود. برای ذخيره منو File->Save as را انتخاب کنيد. با انتخاب آن ممکن است پيغامی به شکل زير ببينيد
دکمه Cancel يا Continue را انتخاب کنيد و فايل را در يک مسير ديگر مثل C:\oracle_sort ذخيره کنيد. حال tab page قسمت Major/Minor را انتخاب کنيد و در پايين پنجره قسمت Table Sort Option فهرستی از نوع نمايش اطلاعات را نمايش می دهد از فهرست مربوط Ascending Collation را انتخاب کنيد.سپس شکل زير را خواهيد ديد.
همان طور که در شکل می بينيد چهار قسمت بنامهای Unicode Value, Glyph, Major Sort, Minor Sort وجود دارد. و در پايين آن محلی برای اضافه, تغيير و جستجو وجود دارد. اگر در رديف حرف a و A توجه کنيد
می بينيد مقدار Major يکی است و مقدار Minor آنها فرق می کند که راجع به آن در قسمت مقدمه صحبت شد. کاراکترهايی که دارای شکل نمايش يکسان هستند دارای مقدار Major يکسان هستند. در قسمت Minor مقدار 1 برای حرف A و 2 برای حرف a نشان می دهد که حرف A قبل از a است توجه کنيد که اينجا از باينری سورت استفاده نمی شود بلکه از Monolingual linguistic sort استفاده می شود . برای فارسی در يونی کد حروف کوچک و بزرگ يکسان هستند و احتياجی به تعريف آنها نيست بنابر اين مقدار Minor آنها برابر 1 است .بيشتر حروف مرتب هستند فقط بايد حروف گچپژ را به آن اضافه کنيد و نکته ديگر اينکه در سورت عربی حرف 'ه' قبل ازحرف 'و' است و حرف کاف عربی را بايد به کاف فارسی تغيير دهيد. با ماوس Scroll کنيد تا حروف فارسی را ببينيد همانطور که در شکل می بينيد در قسمت Major حرف ب دارای مقدار 160 و حرف ت دارای مقدار 162 دارد. کافی است بين آنها حرف پ را اضافه کنيم و مقدار 161 را بدهيم برای اين کار يک بار روی دکمه New فشار دهيد تا قسمت تغييرات که بالای دکمه ها قرار دارد خالی شود و روی قسمت Glyph با ماوس کليک کنيد ابتدا صفحه کليد را به مد فارسی تغيير دهيد و حرف پ را تايپ کنيد و اگر روی قسمت Unicode Value کليک کنيد بطور خودکار خود برنامه مقدار عددی آنرا می دهد در غير اينصورت مقدار 0x067e را بدهيد. مقادير يونی کد چهار حرف گچپژ به قرار زير است.
پ 0x067e , چ 0x0686 , گ 0x06af و ژ 0x0698
برای مقدار Major عدد 161 و برای Minor عدد 1 را بدهيد سپس دکمه Add را فشار دهيد بعد از اينکار حرف پ را بايد بعد از حرف ب ببينيد اين عمل را برای حروف گ چ ژ تکرار کنيد. مقدار Minor آنها را برابر 1 بگيريد بعد از اضافه کردن حروف دو قسمت باقی مانده است. حرف کاف عربی را با Scroll کردن پيدا کنيد که بعد از ق قرار دارد و مقدار Major آن 202 است . روی آن با ماوس کليک کنيد تا مقادير آن در قسمت تغييرات بيايد حال روی قسمت Glyph يک بار کليک کنيد سپس با استفاده از صفحه کليد آنرا پاک کنيد و حرف ک را تايپ کنيد. بعد کليد Modify را بزنيد. آخرين قسمت تغيير Major مقادير حروف 'ه' و 'و' هستند .برای اينکار ابتدا روی رديف حرف 'و' کليک کنيد و مقدار Major آنرا به 210 که برابر مقدار حرف 'ه' است تغيير دهيد و دکمه Modify را بزنيد سپس رديف حرف 'ه' را انتخاب کنيد و مقدار Major آنرا به 212 تغيير دهيد و دکمه Modify را بزنيد. اگر برعکس انجام دهيد پيغام اشکال خواهيد ديد. فراموش نکنيد فايل را ذخيره کنيد می توانيد با انتخاب آيکون File Save در سمت چپ يا از منو File اين کار را بکنيد. برای نمونه تغييرات, شکل زير را ببينيد.
حال بايد آنرا کامپايل کنيد ولی قبل از هر چيز بايد از دو فايل LX0BOOT.NLB و LX1BOOT.NLB کپی پشتيبان بگيريد می توانيد اين فايلها را روی محيط Windows در مسير زير پيدا کنيد.
D:\oracle\ora92\ocommon\nls\ADMIN\DATA که D نشان دهنده درايوی است که اوراکل را آنجا نصب کرده ايد. باز هم تکرار می کنم کپی پشتيبان فراموش نکنيد بهتر است آنها را در مسير ديگری کپی کنيد چون اگر بخواهيد به حالت پيش فرض اوراکل برگرديد می توانيد اين فايلها را دوباره در مسير گفته شده کپی مجدد کنيد. چون با کامپايل کردن فايل اين فايلها تغييرمی کنند. ولی نگران نباشيد اگر به اشتباه قبل از گرفتن کپی پشتيبان فايل را کامپايل کنيد تغيير يافته فايلهای LX0BOOT.NLB و LX1BOOT.NLB در کنار همين فايل در مسيری که قبلا آنرا ذخيره کرده ايد قرار می گيرد ولی به شرطی که مسير ذخيره فايل روی
D:\oracle\ora92\ocommon\nls\ADMIN\DATA نباشد.
حال برای کامپايل فايل از منو عمودی روی آيکون Generate NLB کليک کنيد با اين عمل يک پنجره باز می شود و مسير کامپايل را می پرسد بايد مسيری که فايل را ذخيره کرديد بدهيد از دکمه Browse استفاده نکنيد چون کار نمی کند آنرا دستی تايپ کنيد. اگر فايل با موفقيت کامپايل شود پيغام زير را خواهيد ديد.
بعد از دريافت پيغام موفقيت کامپايل بايد فايلهای LX0BOOT.NLB, LX1BOOT.NLB را در مسيری که فايل را ذخيره کرده ايد ببينيد.
خاتمه کار
بايد فايلها با پسوند NLB را از مسير ذخيره فايل روی مسير
D:\oracle\ora92\ocommon\nls\ADMIN\DATA کپی کنيد فراموش نشود که قبلا از فايلهای LX0BOOT.NLB, LX1BOOT.NLB
کپی پشتيبان گرفته باشيد. سپس بانک اوراکل را بايد يکبار Shutdown و Stratup کنيد در محيط Windows می توانيد از قسمت سرويسها , سرويس مربوط به اوراکل را يک بار Stop و Start کنيد.
آزمايش برنامه
1- برنامه Locale Builder را ببنديد و يک بار ديگر باز کنيد قسمت New Linguistic Sort را از منوی عمودی انتخاب کنيد و بعد دکمه Monolingual Linguistic Sort را فشار دهيد سپس دکمه
Show Existing Definitions را بزنيد از فهرستی که باز می شود بايد فايلی که قبلا نام آنرا PERSIAN گرفته بوديم, در اين فهرست ديده شود.
2- با برنامه SQL PLUS با کاربر SCOTT وارد برنامه شويد و با دستور زير آنرا آزمايش کنيد بايد بدون پيغام اشکال اجرا شود.
;ALter session set nls_sort=persian
حال يک جدول با کاربر scott ايجاد کنيد و اطلاعات متفرقه فارسی وارد کنيد بعد با دستور Select و Order by آنرا آزمايش کنيد .
از آنجايکه خيلی از شما حال درست کردن فايلهای سورت و آزمايش را نداريد بنابراين می توانيد فايلها را از اينجا دانلود کنيد. اين فايل Zip شامل فايلهای LX303EC.NLT, LX303EC.NLB, test.sql است شما می توانيد فايل LX303ec.nlt را با برنامه Locale Builder باز کنيد اگر باز نشد از فايل nlb آن استفاده کنيد و آنرا به روش بالا کامپايل کنيد. از فايل test.sql می توانيد برای ساختن جدول و ذخيره اطلاعات فارسی و آزمايش برنامه استفاده کنيد.
تنظيم پارامتر nls_sort
همانطور که قبلا گفته شد و در فايل test.sql نيز آمده است می توانيد پارامتر nls_sort با دستور ALTER SESSION تغيير دهيد ولی اين تغيير موقتی است و اگر برنامه SQL PLUS را ببنديد و دوباره باز کنيد باز بايد دستور ALTER SESSION را دوباره اجرا کنيد برای اين که بطور دائم برای تمامی کاربران و برنامه های خود آنرا داشته باشيد کافی است آنرا در Registery Windows اضافه کنيد نحوه اضافه کردن به شکلی است که در تنظيم
پارامترهای تاريخ گفته شده است.
نکته باقی مانده:
nls_srot مستقل از Instance اوراکل است من آنرا روی دو Instance مختلف که يکی با کاراکترست AR8MSWIN1256 و ديگری با کاراکترست UTF8 بود آزمايش کردم همه چيز درست عمل کرد.
اميدوارم که مفيد واقع شده باشد.
مقدمه:
قبل از هر چيز اجازه بدهيد مروری بر نحوه اينکه اوراکل چطور مقادير را مرتب می کند داشته باشيم. زبانهای مختلف سورتهای مختلف دارند کشورهای مختلف ممکن است از الفبای مشترک استفاده کنند ولی سورت مختلف داشته باشند.
اوراکل سه نوع سورت دارد.
- Binary sort
- Monolingual linguistic sort
- Multilingual linguistic sort
Binary sort:
يک روش مرتب کردن داده ها براساس مقادير عددی کاراکترها است که به اين روش باينری سورت می گويند. اين روش خيلی سريع است برای الفبای انگليسی که براساس استاندارد ASCII و EBCDIC کد هستند حروف خودشان مرتب هستند مثلا مقادير A تا Z بطور صعودی مرتب هستند. در استاندارد ASCII همه حروف بزرگ قبل از کوچک هستند و در استاندارد EBCDIC برعکس يعنی حروف کوچک قبل از حروف بزرگ هستند.
Linguistic Sorts
در زبانهای ديگر اگر براساس باينری سورت استفاده شود مثل فارسی, موقع نمايش حروف مرتب نيستند در اين حالت بايد از تکنيک ديگری برای سورت استفاده کرد که به آن Linguistic Sorts می گويند. در اين تکنيک کاراکترها با مقادير عدديشان جابجا می شوند. اوراکل دو نوع linguistic sorts دارد:
1- Monolingual linguistic sort
2- Multilingual linguistic sort
اوراکل در زبان عربی از Monolingual linguistic sort استفاده می کند از آنجايکه زبان فارسی نيز از عربی تبعيت می کند لذا در زبان فارسی نيز از اين نوع استفاده می کنيم. بنابراين از شرح حالت دوم صرف نظر می شود ولی برای اطلاعات بيشتر برای تمامی حالتها می توانيد به اينجا مراجعه کنيد.
Monolingual linguistic sort
در اين روش اوراکل رشته ها را در دو مرحله مقايسه می کند. اولين مرحله مقايسه مقدار بزرگتر يا major value بر اساس جدول major value است. دومين مرحله مقايسه مقدار کوچکتر براساس جدول minor value است. معمولا حروفی که شکل يکسان دارند مقدار Major يکسان دارند .
به جدول زير مشاهده کنيد. حرف a, A, ä, Ä مقدار Major يکسان دارند ولی مقدار Minor آنها فرق می کند.
هر جدول major برای هر کاراکتر شامل Unicode code point و مقدار Major است. Unicode code point يک مقدار 16 بيتی برای نمايش کاراکتر است.
با شرح مختصر بالا به نحوه ساختن يک کاراکتر ست سورت می پردازيم.
ابتدا برنامه Oracle Locale Builder را به طريق زير بر روی ماشينی که Oracle Server را نصب کرديد اجرا می کنيم
Start->Programs->Oracle-OraHome92->Configuration and Migration Tools->Locale Builder
توجه داشته باشيد اگر اين برنامه را نصب نکرده ايد می توانيد CD اوراکل سرور در درايو قرار دهيد و به صورت Custom نصب کنيد و Component مربوطه را بيابيد. يادآوری کنم که اين عمل تغييری در اطلاعات قبلی اوراکل شما نمی دهد برای اطمينان بيشتر سرويس های اوراکل را متوقف کنيد يعنی بانک اوراکل را Shutdown کنيد. نحوه نصب به صورت Custom و نصب Componentها قبلا گفته شده است برای اطلاعات بيشتر روی به قسمت مشکل در اتصال صفحات وب به اوراکل مراجعه کنيد بعد از اجرا برنامه Locale Builder شکل زير را خواهيد داشت
از قسمت سمت چپ آيکون New Language را انتخاب کنيد که شکل زير را می بينيد.
دکمه Show Existing Definitions را فشار دهيد پنجره ای به شکل زير ظاهر خواهد شد
همانطور که در شکل می بينيد پنجره به شش قسمت تقسيم شده است که دو قسمت مخفف Language و Territory است بنا براين تعريف کاراکترست در اوراکل چهار نوع است. که هر کدام شامل يک فايل فيزيکی روی هارد ديسک هستند. که اين فايلها با LX شروع می شوند و دارای پسوند NLB هستند که کامپايل شده NLT هستند. طول نام فايل بدون پسوند 7 کاراکتر است. اين فايلها را می توانيد در محيط Windows در مسير زير ببينيد.
D:\oracle\ora92\ocommon\nls\ADMIN\DATA که D نشان دهنده درايوی است که اوراکل را آنجا نصب کرده ايد.
LX0 نشان دهنده زبان يا Language است.
LX1 نشان دهنده Territory است.
LX2 نشان دهنده کاراکترست است که هنگام ساختن نمونه(Instance) اوراکل استفاده می کنيم مثل AR8MSWIN1256 يا UTF8 و يا WE8ISO8859P1 که قبلا راجع به آنها
صحبت شده است.
LX3 نشان دهنده نحوه سورت است که ما فقط با اين قسمت کار داريم.
برای داشتن سورت فارسی کافی است از سورت عربی استفاده کنيم و چهار حرف گچپژ را به آن اضافه کنيم و آنرا به نام ديگر ذخيره کنيم.
در قسمت (Linguistic Sort(ID آيتم اول (Arabic(21 را انتخاب کنيد . جلوی هر کدام از آيتمهايی که می بينيد داخل پرانتز يک عدد می بينيد که اين عدد ID آن است و منحصر به فرد است.اين عدد در کد هگز است و برای نام فايل استفاده می شود. مثلا ARABIC دارای عدد 21 است اگر اين عدد را به کد دسيمال يا ده دهی تبديل کنيد عدد 15 بدست می آيد و از آنجايی که فايلهای سورت با LX3 شروع می شوند و طول نام فايل 7 کاراکتر است بنابراين نام فايل LX30015 را خواهيد داشت و پسوند آنهم NLB است. با انتخاب آن نام کامل فايل را در همان پنجره خواهيد ديد. بعداز انتخاب آن دکمه Open را بزنيد. اين حالت را نيز می توانيد از منوی عمودی سمت چپ با انتخاب New Linguistic Sort داشته باشيد و سپس دکمه Monolingual Linguistic Sort را بزنيد بعد از آن در پايين پنجره دکمه Show Existing Definitions را بزنيد که فهرستی از زبانهای سورت باز می شود و زبان
(ARABIC(21 را انتخاب و آنرا باز کنيد. بعد انجام اين کار شکل زير را خواهيد داشت.
در اين پنجره و tab page General دو قسمت collection name و collection ID را می بينيد. که با انتخاب زبان سورت عربی دو مقدار ARABIC و عدد 21 را خواهيد ديد حال آنها را تغيير دهيد در قسمت
collection name هر نامی را که دوست داريد می توانيد انتخاب کنيد ولی چون اوراکل در قسمت تاريخ فارسی از Persian استفاده می کند برای مطابقت با آن اين قسمت را Persian انتخاب کنيد . دکمه tab را بزنيد و به قسمت collection ID برويد مقدار ID بايد منحصر به فرد باشد يعنی غير تکراری که می توانيد مقادير بين 1000 و 2000 انتخاب کنيد. بعنوان مثال می توانيد 1004 را انتخاب کنيد بعد از تغييرات شکلی مثل زير را خواهيد ديد.
بعد از تغيير مقادير آنرا ذخيره کنيد توجه داشته باشيد اصلا نبايد نام فايل را تغيير دهيد به همان دليل که در بالا گفته شد.نام فايل براساس ID ساخته می شود. برای ذخيره منو File->Save as را انتخاب کنيد. با انتخاب آن ممکن است پيغامی به شکل زير ببينيد
دکمه Cancel يا Continue را انتخاب کنيد و فايل را در يک مسير ديگر مثل C:\oracle_sort ذخيره کنيد. حال tab page قسمت Major/Minor را انتخاب کنيد و در پايين پنجره قسمت Table Sort Option فهرستی از نوع نمايش اطلاعات را نمايش می دهد از فهرست مربوط Ascending Collation را انتخاب کنيد.سپس شکل زير را خواهيد ديد.
همان طور که در شکل می بينيد چهار قسمت بنامهای Unicode Value, Glyph, Major Sort, Minor Sort وجود دارد. و در پايين آن محلی برای اضافه, تغيير و جستجو وجود دارد. اگر در رديف حرف a و A توجه کنيد
می بينيد مقدار Major يکی است و مقدار Minor آنها فرق می کند که راجع به آن در قسمت مقدمه صحبت شد. کاراکترهايی که دارای شکل نمايش يکسان هستند دارای مقدار Major يکسان هستند. در قسمت Minor مقدار 1 برای حرف A و 2 برای حرف a نشان می دهد که حرف A قبل از a است توجه کنيد که اينجا از باينری سورت استفاده نمی شود بلکه از Monolingual linguistic sort استفاده می شود . برای فارسی در يونی کد حروف کوچک و بزرگ يکسان هستند و احتياجی به تعريف آنها نيست بنابر اين مقدار Minor آنها برابر 1 است .بيشتر حروف مرتب هستند فقط بايد حروف گچپژ را به آن اضافه کنيد و نکته ديگر اينکه در سورت عربی حرف 'ه' قبل ازحرف 'و' است و حرف کاف عربی را بايد به کاف فارسی تغيير دهيد. با ماوس Scroll کنيد تا حروف فارسی را ببينيد همانطور که در شکل می بينيد در قسمت Major حرف ب دارای مقدار 160 و حرف ت دارای مقدار 162 دارد. کافی است بين آنها حرف پ را اضافه کنيم و مقدار 161 را بدهيم برای اين کار يک بار روی دکمه New فشار دهيد تا قسمت تغييرات که بالای دکمه ها قرار دارد خالی شود و روی قسمت Glyph با ماوس کليک کنيد ابتدا صفحه کليد را به مد فارسی تغيير دهيد و حرف پ را تايپ کنيد و اگر روی قسمت Unicode Value کليک کنيد بطور خودکار خود برنامه مقدار عددی آنرا می دهد در غير اينصورت مقدار 0x067e را بدهيد. مقادير يونی کد چهار حرف گچپژ به قرار زير است.
پ 0x067e , چ 0x0686 , گ 0x06af و ژ 0x0698
برای مقدار Major عدد 161 و برای Minor عدد 1 را بدهيد سپس دکمه Add را فشار دهيد بعد از اينکار حرف پ را بايد بعد از حرف ب ببينيد اين عمل را برای حروف گ چ ژ تکرار کنيد. مقدار Minor آنها را برابر 1 بگيريد بعد از اضافه کردن حروف دو قسمت باقی مانده است. حرف کاف عربی را با Scroll کردن پيدا کنيد که بعد از ق قرار دارد و مقدار Major آن 202 است . روی آن با ماوس کليک کنيد تا مقادير آن در قسمت تغييرات بيايد حال روی قسمت Glyph يک بار کليک کنيد سپس با استفاده از صفحه کليد آنرا پاک کنيد و حرف ک را تايپ کنيد. بعد کليد Modify را بزنيد. آخرين قسمت تغيير Major مقادير حروف 'ه' و 'و' هستند .برای اينکار ابتدا روی رديف حرف 'و' کليک کنيد و مقدار Major آنرا به 210 که برابر مقدار حرف 'ه' است تغيير دهيد و دکمه Modify را بزنيد سپس رديف حرف 'ه' را انتخاب کنيد و مقدار Major آنرا به 212 تغيير دهيد و دکمه Modify را بزنيد. اگر برعکس انجام دهيد پيغام اشکال خواهيد ديد. فراموش نکنيد فايل را ذخيره کنيد می توانيد با انتخاب آيکون File Save در سمت چپ يا از منو File اين کار را بکنيد. برای نمونه تغييرات, شکل زير را ببينيد.
حال بايد آنرا کامپايل کنيد ولی قبل از هر چيز بايد از دو فايل LX0BOOT.NLB و LX1BOOT.NLB کپی پشتيبان بگيريد می توانيد اين فايلها را روی محيط Windows در مسير زير پيدا کنيد.
D:\oracle\ora92\ocommon\nls\ADMIN\DATA که D نشان دهنده درايوی است که اوراکل را آنجا نصب کرده ايد. باز هم تکرار می کنم کپی پشتيبان فراموش نکنيد بهتر است آنها را در مسير ديگری کپی کنيد چون اگر بخواهيد به حالت پيش فرض اوراکل برگرديد می توانيد اين فايلها را دوباره در مسير گفته شده کپی مجدد کنيد. چون با کامپايل کردن فايل اين فايلها تغييرمی کنند. ولی نگران نباشيد اگر به اشتباه قبل از گرفتن کپی پشتيبان فايل را کامپايل کنيد تغيير يافته فايلهای LX0BOOT.NLB و LX1BOOT.NLB در کنار همين فايل در مسيری که قبلا آنرا ذخيره کرده ايد قرار می گيرد ولی به شرطی که مسير ذخيره فايل روی
D:\oracle\ora92\ocommon\nls\ADMIN\DATA نباشد.
حال برای کامپايل فايل از منو عمودی روی آيکون Generate NLB کليک کنيد با اين عمل يک پنجره باز می شود و مسير کامپايل را می پرسد بايد مسيری که فايل را ذخيره کرديد بدهيد از دکمه Browse استفاده نکنيد چون کار نمی کند آنرا دستی تايپ کنيد. اگر فايل با موفقيت کامپايل شود پيغام زير را خواهيد ديد.
بعد از دريافت پيغام موفقيت کامپايل بايد فايلهای LX0BOOT.NLB, LX1BOOT.NLB را در مسيری که فايل را ذخيره کرده ايد ببينيد.
خاتمه کار
بايد فايلها با پسوند NLB را از مسير ذخيره فايل روی مسير
D:\oracle\ora92\ocommon\nls\ADMIN\DATA کپی کنيد فراموش نشود که قبلا از فايلهای LX0BOOT.NLB, LX1BOOT.NLB
کپی پشتيبان گرفته باشيد. سپس بانک اوراکل را بايد يکبار Shutdown و Stratup کنيد در محيط Windows می توانيد از قسمت سرويسها , سرويس مربوط به اوراکل را يک بار Stop و Start کنيد.
آزمايش برنامه
1- برنامه Locale Builder را ببنديد و يک بار ديگر باز کنيد قسمت New Linguistic Sort را از منوی عمودی انتخاب کنيد و بعد دکمه Monolingual Linguistic Sort را فشار دهيد سپس دکمه
Show Existing Definitions را بزنيد از فهرستی که باز می شود بايد فايلی که قبلا نام آنرا PERSIAN گرفته بوديم, در اين فهرست ديده شود.
2- با برنامه SQL PLUS با کاربر SCOTT وارد برنامه شويد و با دستور زير آنرا آزمايش کنيد بايد بدون پيغام اشکال اجرا شود.
;ALter session set nls_sort=persian
حال يک جدول با کاربر scott ايجاد کنيد و اطلاعات متفرقه فارسی وارد کنيد بعد با دستور Select و Order by آنرا آزمايش کنيد .
از آنجايکه خيلی از شما حال درست کردن فايلهای سورت و آزمايش را نداريد بنابراين می توانيد فايلها را از اينجا دانلود کنيد. اين فايل Zip شامل فايلهای LX303EC.NLT, LX303EC.NLB, test.sql است شما می توانيد فايل LX303ec.nlt را با برنامه Locale Builder باز کنيد اگر باز نشد از فايل nlb آن استفاده کنيد و آنرا به روش بالا کامپايل کنيد. از فايل test.sql می توانيد برای ساختن جدول و ذخيره اطلاعات فارسی و آزمايش برنامه استفاده کنيد.
تنظيم پارامتر nls_sort
همانطور که قبلا گفته شد و در فايل test.sql نيز آمده است می توانيد پارامتر nls_sort با دستور ALTER SESSION تغيير دهيد ولی اين تغيير موقتی است و اگر برنامه SQL PLUS را ببنديد و دوباره باز کنيد باز بايد دستور ALTER SESSION را دوباره اجرا کنيد برای اين که بطور دائم برای تمامی کاربران و برنامه های خود آنرا داشته باشيد کافی است آنرا در Registery Windows اضافه کنيد نحوه اضافه کردن به شکلی است که در تنظيم
پارامترهای تاريخ گفته شده است.
نکته باقی مانده:
nls_srot مستقل از Instance اوراکل است من آنرا روی دو Instance مختلف که يکی با کاراکترست AR8MSWIN1256 و ديگری با کاراکترست UTF8 بود آزمايش کردم همه چيز درست عمل کرد.
اميدوارم که مفيد واقع شده باشد.
یکشنبه، دی ۱۵، ۱۳۸۱
نتظيم پارامترهای مربوط به تاريخ فارسی در اوراکل
قبلا در مطلب تاريخ فارسی در اوراکل گفته شد که چطور می توان در برنامه خود پارامتر nls_calendar و nls_date_format را چطور در برنامه خود استفاده کنيد با اين کارمجبوريد برنامه يا صفحات وب خود را تغيير دهيد حال با روشی که گفته می شود اصلا لزومی ندارد برنامه خود را تغيير دهيد. کافی است اين پارامترها را در Registery Windows قرار دهيد. با اجرای دستور Regedit در قسمت RUN ويندوز وارد محيط Registery شويد. در مسير HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 روی HOME0 کليک کنيد در سمت راست صفحه پارامترهای اوراکل را می بينيد مثلا NLS_LANG که قبلا راجع به آن صحبت شد. برای اضافه کردن پارامترهای NLS_CALENDAR و NLS_DATE_FORMAT کافی است از منو
EDIT->NEW->String Value را انتخاب کنيد. با انتخاب آن New Value #1 را می سازد که آنرا به NLS_CALENDAR تغيير دهيد سپس دوبار روی آن کليک کنيد که يک پنجره باز می شود در قسمت
Value data مقدار Persian را تايپ کنيد همين روند را برای NLS_DATE_FORMAT تکرار کنيد و مقدار آنرا YYYY/MM/DD قرار دهيد. لطفا اين پارامترها را روی Registery ماشين Server و Client تغيير دهيد.
نکته:
همانطور که قبلا گفته شد اگر بيش از يک محصول اوراکل را روی ماشين خود نصب کرده باشيد HOME0,HOME1,HOME2 را خواهيد داشت که بايد پارامترها را برای همه آنها نتظيم کنيد.
قبلا در مطلب تاريخ فارسی در اوراکل گفته شد که چطور می توان در برنامه خود پارامتر nls_calendar و nls_date_format را چطور در برنامه خود استفاده کنيد با اين کارمجبوريد برنامه يا صفحات وب خود را تغيير دهيد حال با روشی که گفته می شود اصلا لزومی ندارد برنامه خود را تغيير دهيد. کافی است اين پارامترها را در Registery Windows قرار دهيد. با اجرای دستور Regedit در قسمت RUN ويندوز وارد محيط Registery شويد. در مسير HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 روی HOME0 کليک کنيد در سمت راست صفحه پارامترهای اوراکل را می بينيد مثلا NLS_LANG که قبلا راجع به آن صحبت شد. برای اضافه کردن پارامترهای NLS_CALENDAR و NLS_DATE_FORMAT کافی است از منو
EDIT->NEW->String Value را انتخاب کنيد. با انتخاب آن New Value #1 را می سازد که آنرا به NLS_CALENDAR تغيير دهيد سپس دوبار روی آن کليک کنيد که يک پنجره باز می شود در قسمت
Value data مقدار Persian را تايپ کنيد همين روند را برای NLS_DATE_FORMAT تکرار کنيد و مقدار آنرا YYYY/MM/DD قرار دهيد. لطفا اين پارامترها را روی Registery ماشين Server و Client تغيير دهيد.
نکته:
همانطور که قبلا گفته شد اگر بيش از يک محصول اوراکل را روی ماشين خود نصب کرده باشيد HOME0,HOME1,HOME2 را خواهيد داشت که بايد پارامترها را برای همه آنها نتظيم کنيد.
شنبه، دی ۱۴، ۱۳۸۱
فارسی سازی در اوراکل بطور کامل حل شد
همانطور که در چندين مقاله نحوه فارسی سازی در اوراکل از نصب و انتخاب کاراکترست گرفته تا تاريخ شمسی دراوراکل بيان شد.برای اطلاعات لازم می توانيد اين صفحه يا قسمت آرشيو را ببينيد. فقط قسمت Sorting باقی مانده بود که آنهم حل شد همين الان که دارم اين مطلب را می نويسم دقيقا چند دقيقه قبل ساختن يک کاراکترست Sort فارسی و آزمايشهای لازم تمام شد. در حال حاضر در حال نوشتن مستند مربوط به نحوه ساختن يک کاراکترست برای داشتن Sort فارسی و کامپايل کردن آن و نحوه استفاده آن در اوراکل هستم که انشا الله تا يکی دو روز آينده روی سايت خواهد بود.
نکته مهم:
با اين کار اصلا لازم نيست کوچکترين تغييری در اطلاعات قبلی خود بدهيد می توانيد روند ورود اطلاعات خود را مثل سابق ادامه دهيد. بعضی از شرکتها به مشتری خود می گويند که ما اين خصوصيت را نصب می کنيم و هزينه آنرا نيز دريافت می کنند و همچنين می گويند اطلاعات را بايد تغيير(Convert) کنند که با اين کار هزينه اضافی می گيرند. بايد بگويم که آنها يک کاراکترست جديد می سازند و آنرا روی ماشين شما نصب می کنند که با اطلاعات قبلی شما سازگار نيست و اگر اوراکل را مجددا يا روی ماشين ديگری نصب کنيد ديگر اين خصوصيت را نداريد و با يد به شرکت مربوطه بگوييد بيايد و دوباره اين کاراکترست را نصب کند ولی با حالتی که گفته می شود اوراکل را می توانيد با کاراکترست قبلی خودش مثل AR8MSWIN1256 روی هر ماشينی که می خواهيد نصب کنيد فقط کافی است که کاراکترست Sort را روی ماشين خود کامپايل و کپی کنيد. زندگی شرين می شود اينطور نيست.
مژده:
يک مستند کامل فارسی سازی در اوراکل به فرمت DOC يا PDF نوشته خواهد شد و برای دانلود در سايت قرار خواهد گرفت. ديگر چه می خواهد ديگر غر نزنيد هی, بگوييد اوراکل مشکل فارسی دارد بجای آن بگوييد حوصله حل کردن آنرا نداريد و همش راجع به MS SQL Server صحبت کنيد.
بازم هم ايميل نزنيند, نظرندهيد. قسمت نتيجه گيری در همين صفحه را نيز بخوانيد.
همانطور که در چندين مقاله نحوه فارسی سازی در اوراکل از نصب و انتخاب کاراکترست گرفته تا تاريخ شمسی دراوراکل بيان شد.برای اطلاعات لازم می توانيد اين صفحه يا قسمت آرشيو را ببينيد. فقط قسمت Sorting باقی مانده بود که آنهم حل شد همين الان که دارم اين مطلب را می نويسم دقيقا چند دقيقه قبل ساختن يک کاراکترست Sort فارسی و آزمايشهای لازم تمام شد. در حال حاضر در حال نوشتن مستند مربوط به نحوه ساختن يک کاراکترست برای داشتن Sort فارسی و کامپايل کردن آن و نحوه استفاده آن در اوراکل هستم که انشا الله تا يکی دو روز آينده روی سايت خواهد بود.
نکته مهم:
با اين کار اصلا لازم نيست کوچکترين تغييری در اطلاعات قبلی خود بدهيد می توانيد روند ورود اطلاعات خود را مثل سابق ادامه دهيد. بعضی از شرکتها به مشتری خود می گويند که ما اين خصوصيت را نصب می کنيم و هزينه آنرا نيز دريافت می کنند و همچنين می گويند اطلاعات را بايد تغيير(Convert) کنند که با اين کار هزينه اضافی می گيرند. بايد بگويم که آنها يک کاراکترست جديد می سازند و آنرا روی ماشين شما نصب می کنند که با اطلاعات قبلی شما سازگار نيست و اگر اوراکل را مجددا يا روی ماشين ديگری نصب کنيد ديگر اين خصوصيت را نداريد و با يد به شرکت مربوطه بگوييد بيايد و دوباره اين کاراکترست را نصب کند ولی با حالتی که گفته می شود اوراکل را می توانيد با کاراکترست قبلی خودش مثل AR8MSWIN1256 روی هر ماشينی که می خواهيد نصب کنيد فقط کافی است که کاراکترست Sort را روی ماشين خود کامپايل و کپی کنيد. زندگی شرين می شود اينطور نيست.
مژده:
يک مستند کامل فارسی سازی در اوراکل به فرمت DOC يا PDF نوشته خواهد شد و برای دانلود در سايت قرار خواهد گرفت. ديگر چه می خواهد ديگر غر نزنيد هی, بگوييد اوراکل مشکل فارسی دارد بجای آن بگوييد حوصله حل کردن آنرا نداريد و همش راجع به MS SQL Server صحبت کنيد.
بازم هم ايميل نزنيند, نظرندهيد. قسمت نتيجه گيری در همين صفحه را نيز بخوانيد.
چهارشنبه، دی ۱۱، ۱۳۸۱
Sort فارسی در اوراکل
قبلا در چند مقاله گفته شد که چطورمی توانيد در اوراکل فارسی داشته باشيد فقط قسمت Sorting حروف فارسی باقی مانده است برای داشتن Sort فارسی در اوراکل می توانيد با نرم فزار و مستندات Oracle Locale Builder که اين نرم افزار با نسخه 8i به بازار آمد کار کنيد. می توانيد با آن يک کاراکترست جديد تعريف کنيد يا کاراکترستهای قبلی را تغيير دهيد. ولی کافی است فقط روی Sorting کار کنيد. برای راهنمايی بايد روی فايلها با پسوند NLB,NLT اوراکل کار کنيد. فايلهای NLT که مخفف National Language Text است وبعد از کامپيال به NLB که مخفف National Language Binary است تبديل می شود.فايلهای NLB را می توانيد در شاخه زير پيدا کنيد.
ORAHOME:\oracle\ora92\ocommon\nls\ADMIN\DATA منظور از ORAHOME داريوی است که اوراکل را روی آن نصب کرده ايد. برنامه Oracle Locale Builde با نصب Oracle Enterprise Edition نصب می شود و روی Server قرارمی گيرد نه Client . بعد از اجرا اين برنامه در سمت چپ يک سری منو عمودی به صورت Icon می بينيد قسمت
New Linguistic Sort را انتخاب کنيد سپس دکمه Show Existing Definition را فشار دهيد ليستی از زبانهای مختلف می بينيد حال( ARABIC(21 را انتخاب کنيد در همان پنجره اين پيغام را بايد ببينيد Corresponding File Name: lx30015.nlb اين همان فايلی است که بايد ترتيب بعضی از حروف آن را عوض و چهار حرف گچپژ را به آن اضافه کنيد. اگر tap page مربوط به Major/Minor را انتخاب کنيد چهار ستون Unicode Value,Glyph, Major sort, Minor sort خواهيد ديد. در قسمت پايين صفحه می توانيد حرف جديد تعريف کنيد فراموش نکنيد که بايد يونی کد حروف فارسی را بدانيد. برای اطلاعات راجع به يونی کد تمامی زبانها به اين آدرس مراجعه کنيد
http://www.unicode.org/charts ولی برای فارسی يا عربی از لينک Arabic آن استفاده کنيد.
نکته:
نسخه يونی کد در سايت http://www.unicode.org/charts و اوراکل بايد سازگار باشند به مستندات اوراکلی را که نصب کرده ايد مراجعه کنيد ببينيد آخرين نسخه يونی کد که پشتيبانی می کند کدام است.
قبلا در چند مقاله گفته شد که چطورمی توانيد در اوراکل فارسی داشته باشيد فقط قسمت Sorting حروف فارسی باقی مانده است برای داشتن Sort فارسی در اوراکل می توانيد با نرم فزار و مستندات Oracle Locale Builder که اين نرم افزار با نسخه 8i به بازار آمد کار کنيد. می توانيد با آن يک کاراکترست جديد تعريف کنيد يا کاراکترستهای قبلی را تغيير دهيد. ولی کافی است فقط روی Sorting کار کنيد. برای راهنمايی بايد روی فايلها با پسوند NLB,NLT اوراکل کار کنيد. فايلهای NLT که مخفف National Language Text است وبعد از کامپيال به NLB که مخفف National Language Binary است تبديل می شود.فايلهای NLB را می توانيد در شاخه زير پيدا کنيد.
ORAHOME:\oracle\ora92\ocommon\nls\ADMIN\DATA منظور از ORAHOME داريوی است که اوراکل را روی آن نصب کرده ايد. برنامه Oracle Locale Builde با نصب Oracle Enterprise Edition نصب می شود و روی Server قرارمی گيرد نه Client . بعد از اجرا اين برنامه در سمت چپ يک سری منو عمودی به صورت Icon می بينيد قسمت
New Linguistic Sort را انتخاب کنيد سپس دکمه Show Existing Definition را فشار دهيد ليستی از زبانهای مختلف می بينيد حال( ARABIC(21 را انتخاب کنيد در همان پنجره اين پيغام را بايد ببينيد Corresponding File Name: lx30015.nlb اين همان فايلی است که بايد ترتيب بعضی از حروف آن را عوض و چهار حرف گچپژ را به آن اضافه کنيد. اگر tap page مربوط به Major/Minor را انتخاب کنيد چهار ستون Unicode Value,Glyph, Major sort, Minor sort خواهيد ديد. در قسمت پايين صفحه می توانيد حرف جديد تعريف کنيد فراموش نکنيد که بايد يونی کد حروف فارسی را بدانيد. برای اطلاعات راجع به يونی کد تمامی زبانها به اين آدرس مراجعه کنيد
http://www.unicode.org/charts ولی برای فارسی يا عربی از لينک Arabic آن استفاده کنيد.
نکته:
نسخه يونی کد در سايت http://www.unicode.org/charts و اوراکل بايد سازگار باشند به مستندات اوراکلی را که نصب کرده ايد مراجعه کنيد ببينيد آخرين نسخه يونی کد که پشتيبانی می کند کدام است.
سهشنبه، دی ۱۰، ۱۳۸۱
نتيجه گيری
اول:
با توجه به نظرات ارسالی و بازديد سايت نشان دهنده شدت علاقه شما را به اوراکل نشان می دهد چون غير از يکی دو تا Eamil تا حالا چيزی از شما عزيزان دريافت نکردم. پس معلوم ميشه همه دنبال VB و SQL Server هستند.فکر کنم منم برم دنبال آنها انگار بهتره.
دوم:
اگر توجه کرده باشيد مطلب خيلی کم می نويسم اين چندين علت دارد. اولا فکر نکينيد که وب لاگ نويسی به همين راحتيهاست همين تايپ لاتين و فارسی کنار هم آنهم بطوری که خوانا باَشد و غلط املايی نداشته باشد, جملات و پاراگرافها در سايت مرتب باشند کلی از وقت را می گيرد اگر باور نداريد خودتان امتحان کنيد همين مطلب تاريخ فارسی در اوراکل در Notepad تايپ کنيد و زمان تايپ خود را ثبت کنيد. دوما بيشتر مقالات که راجع به اوراکل يا نرم افزار خاصی نوشته می شود ترجمه يا کپی نيست بلکه اکثر آنها تجربه شخصی است و برای تهيه و صحت آنها مجبورم تمامی آنها را دوباره اجرا و آزمايش کنم برای تهيه تصاويری که می بينيد مجبور شدم خود اوراکل يا برنامهای جانبی را يک بار ديگر نصب يا اجرا کنم تا تصاوير را ضبط کنم . حتی لينکهايی که گفته می شود بايد تک تک آنها را آزمايش کنم.
اول:
با توجه به نظرات ارسالی و بازديد سايت نشان دهنده شدت علاقه شما را به اوراکل نشان می دهد چون غير از يکی دو تا Eamil تا حالا چيزی از شما عزيزان دريافت نکردم. پس معلوم ميشه همه دنبال VB و SQL Server هستند.فکر کنم منم برم دنبال آنها انگار بهتره.
دوم:
اگر توجه کرده باشيد مطلب خيلی کم می نويسم اين چندين علت دارد. اولا فکر نکينيد که وب لاگ نويسی به همين راحتيهاست همين تايپ لاتين و فارسی کنار هم آنهم بطوری که خوانا باَشد و غلط املايی نداشته باشد, جملات و پاراگرافها در سايت مرتب باشند کلی از وقت را می گيرد اگر باور نداريد خودتان امتحان کنيد همين مطلب تاريخ فارسی در اوراکل در Notepad تايپ کنيد و زمان تايپ خود را ثبت کنيد. دوما بيشتر مقالات که راجع به اوراکل يا نرم افزار خاصی نوشته می شود ترجمه يا کپی نيست بلکه اکثر آنها تجربه شخصی است و برای تهيه و صحت آنها مجبورم تمامی آنها را دوباره اجرا و آزمايش کنم برای تهيه تصاويری که می بينيد مجبور شدم خود اوراکل يا برنامهای جانبی را يک بار ديگر نصب يا اجرا کنم تا تصاوير را ضبط کنم . حتی لينکهايی که گفته می شود بايد تک تک آنها را آزمايش کنم.
دوشنبه، دی ۰۹، ۱۳۸۱
تاريخ فارسي يا شمسی در اوراکل
چطور تاريخ فارسي در اوراکل داشته باشيم؟ اوراکل از نسخه 7 به بعد آنرا پشتيباني مي کند. براي اينکه تاريخ فارسي داشته باشيد کافي است پارامتر nls_calendar را به Persian تغيير دهيد. اجازه بدهيد با مثال قدم به قدم آنرا با هم اجرا کنيم. ابتدا با برنامه SQL PLUS با کاربر scott و رمز عبور tiger به اوراکل وصل شويد. به صورت پيش فرض پارامتر nls_calendar مقدارش Gregorian است. دستور زير را در SQL PLUS اجرا کنيد. اين دستو ر تاريخ سيستم شما را نشان مي دهد.
;select sysdate from dual
اگر اين دستور را اجرا کنيد فرمت تاريخ را بر اساس اينکه پارامتر nls_date_format را چطور تعيين کرده باشيد نشان
مي دهد. بطور پيش فرض اوراکل تاريخ را به شکل DD Mon YY نشان مي دهد مثلا 02 28FEB
يا اگر به شکل DD Mon YYYY باشد تاريخ به شکل 2002 28FEb نشان داده خواهد شد.
همانطور که قبلا در مقاله اي تحت عنوان فارسي سازي در اوراکل گفته شد اگر سيستم کامپيوتر را به فارسي تغيير داده باشيد تاريخ ميلادي را بشکل 02/12/28نشان مي دهد که از فرمت عربي تبعيت مي کند.حال دستور زير را اجرا کنيد. با اين دستور نحوه نمايش تاريخ ميلادي به شمسي تغيير مي کند.
;'Alter session set nls_calendar='Persian
حال اگر دستور ;select sysdate from dual را اجرا کنيد تاريخ را به شکل 1381 07Dei نمايش داده خواهد شد. مي بينيد که خود اوراکل تاريخ ميلادي را به شمسي تبديل مي کند. حال تاريخ سيستم کامپيوتر خود را مثلا به هفتم فوريه 2002 تغيير دهيد و دستور فوق را يک بار ديگر اجرا کنيد حال تاريخ به شکل 1381 18Bahman نشان داده خواهد شد. اسامي ماهها به شکل انگليسي است. حال اگر بخواهيم تاريخ را به شکل 1381/11/18 داشته باشيد کافي است پارامتر nls_date_format را تغيير دهيم با دستور زير مي توانيد اين کار را بکنيد.
;'Alter session set nls_date_format = 'YYYY/MM/DD
حال اگر دستور ;select sysdate from dual را اجرا کنيد تاريخ را به شکل 1381/11/18 خواهيد داشت.
نکته:
اين دستورات فقط در يک Session کار مي کنند . مفهوم Session چيست ؟
وقتي با يک کاربر به اوراکل وصل مي شويد يک Session ايجاد مي شود و تا زماني که با اين کاربر به اوراکل متصل هستيد Session نيز برقرار است فرقي نمي کند که با چه برنامه اي به اوراکل وصل شده ايد مثلا با SQL PLUS يا برنامه Vitual Basic , Vitual C , Java يا با صفحات وب مثل ASP, JSP, PHP که از ODBC يا JDBC استفاده مي کنند يا با برنامه Oracle Developer2000 . ولي اگر يک بار ديگر با برنامه هاي گفته شده به اوراکل وصل شويد يک Session جديد ايجاد مي شود و مقدار nls_calendar و nls_date_format حالت پيش فرض اوراکل را خواهد داشت. و بايد يک بار ديگر دستورات فوق را اجرا کنيد. دستورات Alter ession را مي توانيد تحت تمامي کاربران اوراکل اجرا کنيد. مي بينيد که به صورت ديناميک مي توانيد تاريخ و فرمت آن را در اوراکل تحت برنامه خود تغيير دهيد و اين قدرت اوراکل را نشان مي دهد. و اين نشان مي دهد که تغيير تاريخ مستقل از Instance اوراکل و زبان پيش فرض آن است مثلا ممکن است شما nls_language را American و nls_territory را America باشد با اين حال باز هم تاريخ شمسي را به شکل فوق خواهيد داشت.
چون خيلي ها از اين قابليت خبر ندارند براي همين در جداول اوراکل به جاي فيلد با نوع Date از( char(10 استفاده مي کنند. با اين کار ديگرنمي توانيد از توابع تاريخ اوراکل استفاده کنيد. توابع Date شامل :
ADD_MONTHS, GREATEST, LEAST,LAST_DAY,MONTHS_BETWEEN,NEXT_DAY,NEW_TIME هستند.
مثالهاي گفته شده در محيط SQL PLUS بود حال چطور در برنامه خود آن را استفاده کنيم.
Oracle Developer2000 Form Builder
کافي است در تمامي فرمها در Pre Form Trigger دو دستور Alter session را قرار دهيد. البته نمی توانيد اين دستور را بطور مستقيم استفاده کنيد بايد بشکل زير عمل کنيد.
;('FOrms_DDL('Aleter session set nls_calendar='Persian
در برنامه گفته شده مثل Vitual C, VB, Java و صفحات وب کافي است بعد از اتصال به اوراکل دو دستور Alter session را اجرا کنيد.
براي اينکه بطور پيش فرض اين مقادير را در خود Oracle Server تغيير دهيد که براي تمامي Session ها و برنامه ها صادق باشد بعدا گفته خواهد شد.
براي اطلاعات بيشتر مقادير پارامترهاي اوراکل به مستندات آن مراجعه کنيد. به آدرس زير نيز مي توانيد مراجعه کنيد.
http://www.csee.umbc.edu/help/oracle8/server.815/a67789/appa.htm#956235
چطور تاريخ فارسي در اوراکل داشته باشيم؟ اوراکل از نسخه 7 به بعد آنرا پشتيباني مي کند. براي اينکه تاريخ فارسي داشته باشيد کافي است پارامتر nls_calendar را به Persian تغيير دهيد. اجازه بدهيد با مثال قدم به قدم آنرا با هم اجرا کنيم. ابتدا با برنامه SQL PLUS با کاربر scott و رمز عبور tiger به اوراکل وصل شويد. به صورت پيش فرض پارامتر nls_calendar مقدارش Gregorian است. دستور زير را در SQL PLUS اجرا کنيد. اين دستو ر تاريخ سيستم شما را نشان مي دهد.
;select sysdate from dual
اگر اين دستور را اجرا کنيد فرمت تاريخ را بر اساس اينکه پارامتر nls_date_format را چطور تعيين کرده باشيد نشان
مي دهد. بطور پيش فرض اوراکل تاريخ را به شکل DD Mon YY نشان مي دهد مثلا 02 28FEB
يا اگر به شکل DD Mon YYYY باشد تاريخ به شکل 2002 28FEb نشان داده خواهد شد.
همانطور که قبلا در مقاله اي تحت عنوان فارسي سازي در اوراکل گفته شد اگر سيستم کامپيوتر را به فارسي تغيير داده باشيد تاريخ ميلادي را بشکل 02/12/28نشان مي دهد که از فرمت عربي تبعيت مي کند.حال دستور زير را اجرا کنيد. با اين دستور نحوه نمايش تاريخ ميلادي به شمسي تغيير مي کند.
;'Alter session set nls_calendar='Persian
حال اگر دستور ;select sysdate from dual را اجرا کنيد تاريخ را به شکل 1381 07Dei نمايش داده خواهد شد. مي بينيد که خود اوراکل تاريخ ميلادي را به شمسي تبديل مي کند. حال تاريخ سيستم کامپيوتر خود را مثلا به هفتم فوريه 2002 تغيير دهيد و دستور فوق را يک بار ديگر اجرا کنيد حال تاريخ به شکل 1381 18Bahman نشان داده خواهد شد. اسامي ماهها به شکل انگليسي است. حال اگر بخواهيم تاريخ را به شکل 1381/11/18 داشته باشيد کافي است پارامتر nls_date_format را تغيير دهيم با دستور زير مي توانيد اين کار را بکنيد.
;'Alter session set nls_date_format = 'YYYY/MM/DD
حال اگر دستور ;select sysdate from dual را اجرا کنيد تاريخ را به شکل 1381/11/18 خواهيد داشت.
نکته:
اين دستورات فقط در يک Session کار مي کنند . مفهوم Session چيست ؟
وقتي با يک کاربر به اوراکل وصل مي شويد يک Session ايجاد مي شود و تا زماني که با اين کاربر به اوراکل متصل هستيد Session نيز برقرار است فرقي نمي کند که با چه برنامه اي به اوراکل وصل شده ايد مثلا با SQL PLUS يا برنامه Vitual Basic , Vitual C , Java يا با صفحات وب مثل ASP, JSP, PHP که از ODBC يا JDBC استفاده مي کنند يا با برنامه Oracle Developer2000 . ولي اگر يک بار ديگر با برنامه هاي گفته شده به اوراکل وصل شويد يک Session جديد ايجاد مي شود و مقدار nls_calendar و nls_date_format حالت پيش فرض اوراکل را خواهد داشت. و بايد يک بار ديگر دستورات فوق را اجرا کنيد. دستورات Alter ession را مي توانيد تحت تمامي کاربران اوراکل اجرا کنيد. مي بينيد که به صورت ديناميک مي توانيد تاريخ و فرمت آن را در اوراکل تحت برنامه خود تغيير دهيد و اين قدرت اوراکل را نشان مي دهد. و اين نشان مي دهد که تغيير تاريخ مستقل از Instance اوراکل و زبان پيش فرض آن است مثلا ممکن است شما nls_language را American و nls_territory را America باشد با اين حال باز هم تاريخ شمسي را به شکل فوق خواهيد داشت.
چون خيلي ها از اين قابليت خبر ندارند براي همين در جداول اوراکل به جاي فيلد با نوع Date از( char(10 استفاده مي کنند. با اين کار ديگرنمي توانيد از توابع تاريخ اوراکل استفاده کنيد. توابع Date شامل :
ADD_MONTHS, GREATEST, LEAST,LAST_DAY,MONTHS_BETWEEN,NEXT_DAY,NEW_TIME هستند.
مثالهاي گفته شده در محيط SQL PLUS بود حال چطور در برنامه خود آن را استفاده کنيم.
Oracle Developer2000 Form Builder
کافي است در تمامي فرمها در Pre Form Trigger دو دستور Alter session را قرار دهيد. البته نمی توانيد اين دستور را بطور مستقيم استفاده کنيد بايد بشکل زير عمل کنيد.
;('FOrms_DDL('Aleter session set nls_calendar='Persian
در برنامه گفته شده مثل Vitual C, VB, Java و صفحات وب کافي است بعد از اتصال به اوراکل دو دستور Alter session را اجرا کنيد.
براي اينکه بطور پيش فرض اين مقادير را در خود Oracle Server تغيير دهيد که براي تمامي Session ها و برنامه ها صادق باشد بعدا گفته خواهد شد.
براي اطلاعات بيشتر مقادير پارامترهاي اوراکل به مستندات آن مراجعه کنيد. به آدرس زير نيز مي توانيد مراجعه کنيد.
http://www.csee.umbc.edu/help/oracle8/server.815/a67789/appa.htm#956235
چهارشنبه، دی ۰۴، ۱۳۸۱
Rational XDE
يکی ديگر از شاهکارهای شرکت Rational را بايد با نرم افزار جديدش بنام XDE شناخت که برای آناليز,طراحی و توليد صفحات وب استفاده می شود. اين نرم افزار در دو قسمت مجزا Java و NET. وجود دارد. اين بار IBM بعد از خريد شرکت Rational روند اجرای برنامه را تغيير داده است. هنگام نصب آن ابتدا يک برنامه ديگری بنام EzPad را نصب می کند که هنگام اجرا برنامه XDE ابتدا اين برنامه اجرا می شود و به اينترنت وصل می شود و در ابتدای بايد خود را Register کنيد و Rational اجازه استفاده 30 روزه اين برنامه را می دهد. هر بار که XDE را اجرا می کنيد ابتدا برنامه EzPad اجرا شده و ID شما را در اينترنت چک می کند. برانامه EzPad در شاخه Winnt\Ezpad قرار می گيرد.به اميد اينکه هکرها هر چه زودتر Crack آن را در شبکه اينترنت قرار دهند می توانيد اين برنامه 213MB را از اينجا يا از
اين آدرس دانلود کنيد.
يکی ديگر از شاهکارهای شرکت Rational را بايد با نرم افزار جديدش بنام XDE شناخت که برای آناليز,طراحی و توليد صفحات وب استفاده می شود. اين نرم افزار در دو قسمت مجزا Java و NET. وجود دارد. اين بار IBM بعد از خريد شرکت Rational روند اجرای برنامه را تغيير داده است. هنگام نصب آن ابتدا يک برنامه ديگری بنام EzPad را نصب می کند که هنگام اجرا برنامه XDE ابتدا اين برنامه اجرا می شود و به اينترنت وصل می شود و در ابتدای بايد خود را Register کنيد و Rational اجازه استفاده 30 روزه اين برنامه را می دهد. هر بار که XDE را اجرا می کنيد ابتدا برنامه EzPad اجرا شده و ID شما را در اينترنت چک می کند. برانامه EzPad در شاخه Winnt\Ezpad قرار می گيرد.به اميد اينکه هکرها هر چه زودتر Crack آن را در شبکه اينترنت قرار دهند می توانيد اين برنامه 213MB را از اينجا يا از
اين آدرس دانلود کنيد.
سهشنبه، دی ۰۳، ۱۳۸۱
مشکل در اتصال صفحات وب به اوراکل
قبلا راجع به اتصال صفحات ASP به اوراکل صحبت شد. ولی بعد از نصب اوراکل و قرار دادن صفحات وب روی سرور مشاهده می شود که هنوز مشکل اتصال به اوراکل وجود دارد. وقتی که با SQL PLUS اتصال به اوراکل را آزمايش می کنيم می بينيم همه چيز درست است که نشان دهنده اين است که سرويس اوراکل درست کار می کند. توجه داشته باشيد که SQL PLUS برای اتصال به اوراکل از درايور Net8 استفاده می کند نه از ODBC يا OLEDB يا JDBC بنابراين اگر مشکل اتصالات صفحات وب به اوراکل را داريد اشکال از نصب نشدن Component های مربوط به OLEDB,ODBC, JDBC است. برای اضافه کردن آنها کافی است که CD اوراکل را در درايو قرار داده برنامه Setup بطور اتوماتيک اجرا می شود اگرچنين حالتی پيش نيامد بطور دستی برنامه Setup را اجرا کنيد. و مراحل زير را به ترتيب دنبال کنيد.
->->->->
در صفحه آخر Availabe Product Components دو ستون بنامهای Components و Install Status را می بينيد قسمت Install Status نشان می دهد که آيا قبلا اين Component را نصب کرده ايد يا نه Installed يعنی قبلا نصب شده و New Install نشان دهنده اين است که هنوز نصب نشده است. قسمت Oracle Development kit همانطورکه در شکل نشان داده شده است را بيابيد و تمامی Check Box ها را تيک بزنيد. اگر Component ديگری را نيز می خواهيد می توانيد با تيک کنيد. يا حتی اگر Install Status به صورت Installed بود باز با تيک کردن Check Box می توانيد دوباره Component مورد نظر را مجددا نصب کنيد اين حالت برای موقعی مناسب است که Component بطور صحيح نصب نشده است. بعد از تيک کردن Check Box ها کليد Next را فشار دهيد تا Componet ها نصب شود.
قبلا راجع به اتصال صفحات ASP به اوراکل صحبت شد. ولی بعد از نصب اوراکل و قرار دادن صفحات وب روی سرور مشاهده می شود که هنوز مشکل اتصال به اوراکل وجود دارد. وقتی که با SQL PLUS اتصال به اوراکل را آزمايش می کنيم می بينيم همه چيز درست است که نشان دهنده اين است که سرويس اوراکل درست کار می کند. توجه داشته باشيد که SQL PLUS برای اتصال به اوراکل از درايور Net8 استفاده می کند نه از ODBC يا OLEDB يا JDBC بنابراين اگر مشکل اتصالات صفحات وب به اوراکل را داريد اشکال از نصب نشدن Component های مربوط به OLEDB,ODBC, JDBC است. برای اضافه کردن آنها کافی است که CD اوراکل را در درايو قرار داده برنامه Setup بطور اتوماتيک اجرا می شود اگرچنين حالتی پيش نيامد بطور دستی برنامه Setup را اجرا کنيد. و مراحل زير را به ترتيب دنبال کنيد.
->->->->
در صفحه آخر Availabe Product Components دو ستون بنامهای Components و Install Status را می بينيد قسمت Install Status نشان می دهد که آيا قبلا اين Component را نصب کرده ايد يا نه Installed يعنی قبلا نصب شده و New Install نشان دهنده اين است که هنوز نصب نشده است. قسمت Oracle Development kit همانطورکه در شکل نشان داده شده است را بيابيد و تمامی Check Box ها را تيک بزنيد. اگر Component ديگری را نيز می خواهيد می توانيد با تيک کنيد. يا حتی اگر Install Status به صورت Installed بود باز با تيک کردن Check Box می توانيد دوباره Component مورد نظر را مجددا نصب کنيد اين حالت برای موقعی مناسب است که Component بطور صحيح نصب نشده است. بعد از تيک کردن Check Box ها کليد Next را فشار دهيد تا Componet ها نصب شود.
یکشنبه، دی ۰۱، ۱۳۸۱
Rational Products
اگر می خواهيد محصولات مختلف Rational را دانلود کنيد به اين آدرس http://www.rational.com/tryit مراجعه کنيد. توجه داشته باشيد که تمامی محصولات نسخه Trial هستند ولی برای استفاده نامحدود زمانی آنها بايد Crack آنها را در سايت www.astalavista.com بيابيد.
با بودن سايت www.astalavista.com کی پول می ده به نرم افزار
اگر می خواهيد محصولات مختلف Rational را دانلود کنيد به اين آدرس http://www.rational.com/tryit مراجعه کنيد. توجه داشته باشيد که تمامی محصولات نسخه Trial هستند ولی برای استفاده نامحدود زمانی آنها بايد Crack آنها را در سايت www.astalavista.com بيابيد.
با بودن سايت www.astalavista.com کی پول می ده به نرم افزار
شنبه، آذر ۳۰، ۱۳۸۱
به خدا تقصير من نيست
گاهی اوقات يا بگم بيشتر اوقات اين وب لاگ اوضاعش بهم می ريزد نمی دانم از چيه . مثلا گاهی اوقات لينکهای آرشيو خود به خود از بين می رود يا الان Template آن بهم خورده و عرض سمت راست که برای منو در نظر گرفتم کوچک شده است فکرکنم تا زمانی که فايل HTML را روی خود سايت blogspot قرار دهم همين آشو همين کاسه است. آقا از خير سايتی که JSP ساپورت بکنه گذشتم اگر سايتی را می شناسيد که ASP.NET را ساپورت کند وقابل اعتماد باشد را معرفی کنيد.
گاهی اوقات يا بگم بيشتر اوقات اين وب لاگ اوضاعش بهم می ريزد نمی دانم از چيه . مثلا گاهی اوقات لينکهای آرشيو خود به خود از بين می رود يا الان Template آن بهم خورده و عرض سمت راست که برای منو در نظر گرفتم کوچک شده است فکرکنم تا زمانی که فايل HTML را روی خود سايت blogspot قرار دهم همين آشو همين کاسه است. آقا از خير سايتی که JSP ساپورت بکنه گذشتم اگر سايتی را می شناسيد که ASP.NET را ساپورت کند وقابل اعتماد باشد را معرفی کنيد.
All Exams
اگر اطلاعاتی راجع به تمامی سوالات امتحانهای MCSE,MSCD,MCDBA,MCSA,CCNA,CCNP,CCDA,CCDP,A+,Server+,Oracle8i,9i,Citrix,Novell CNA, SUN,CIW می خواهيد بدانيد به آدرسهای زير مراجعه کنيد.می توانيد بعضی از مثالهای آنها را دانلود کنيد.
http://www.examnotes.net
http://www.actualtests.com
اگر اطلاعاتی راجع به تمامی سوالات امتحانهای MCSE,MSCD,MCDBA,MCSA,CCNA,CCNP,CCDA,CCDP,A+,Server+,Oracle8i,9i,Citrix,Novell CNA, SUN,CIW می خواهيد بدانيد به آدرسهای زير مراجعه کنيد.می توانيد بعضی از مثالهای آنها را دانلود کنيد.
http://www.examnotes.net
http://www.actualtests.com
ASP-Oracle Connectivity Using OO4O
گاهی اوقات صفحات ASP که از OO4O يا همان Oracle Object for OLE برای اتصال به اوراکل اسفاده می کنند خود به خود قطع می شود که علت اين امر به خيلی چيزها ممکن است مربوط باشد.
1- نسخه اوراکل . اين عمل در اوراکل 8i مخصوصا Oracle 8.1.6 بيشتر ديده می شود که بهتر است آنرا به نسخه بالاترمثل Oracle 8.1.7 ارتقا دهيد توصيه من Oracle9i است.
2- در سايت اوراکل دنبال Patch مربوط به OO4O بگرديد که بايد آنرا Up grade کنيد
3- به نحوه برنامه نويسی و نحوه تعريف Record Set و تنظيم پارامترهای OLE نيز مربوط می شود. برای اطلاعات بيشتر در اين زمينه به اينجا مراجعه کنيد.
Is Paging with Recordsets the Best Method?
ASP-Oracle Connectivity Using OO4O
گاهی اوقات صفحات ASP که از OO4O يا همان Oracle Object for OLE برای اتصال به اوراکل اسفاده می کنند خود به خود قطع می شود که علت اين امر به خيلی چيزها ممکن است مربوط باشد.
1- نسخه اوراکل . اين عمل در اوراکل 8i مخصوصا Oracle 8.1.6 بيشتر ديده می شود که بهتر است آنرا به نسخه بالاترمثل Oracle 8.1.7 ارتقا دهيد توصيه من Oracle9i است.
2- در سايت اوراکل دنبال Patch مربوط به OO4O بگرديد که بايد آنرا Up grade کنيد
3- به نحوه برنامه نويسی و نحوه تعريف Record Set و تنظيم پارامترهای OLE نيز مربوط می شود. برای اطلاعات بيشتر در اين زمينه به اينجا مراجعه کنيد.
Is Paging with Recordsets the Best Method?
ASP-Oracle Connectivity Using OO4O
همه جور کتاب يا Document ديده بودم جزء اين يکی که تازه Download کردم خيلی جالبه اين Document که نام آن Java OReilly Books در قالب PFD است مرجع کامل Java است نزديک 38MB حجم دارد .اين کتاب دارای 5964 صفحه است. فکر کنم تمام عمر بايد صرف خواندن آن کرد حالا کسانی که می خواهند آنرا بخوانند اين کوی و اين ميدان.
جمعه، آذر ۲۹، ۱۳۸۱
نصب Personal Oracle8.0.x و Oracle Developer 2000 روی Windows98
مراحل زير را به ترتيب انجام دهيد:
1- ابتدا Personal Oracle8.0.x که x نشاندهنده نسخه اوراکل است مثل 1,2,3. روی Windows98 نصب کنيد.
2- زيرشاخه orainst را در شاخه اوراکل پيدا کنيد و آنرا تغيير نام دهيد (Rename) .
3- از کل شاخه bin در زير شاخه اوراکل Backup بگيريد و آنرا بنام bin2 در جای ديگری روی هارد خود نگهداريد.
4- حال Oracle Developer2000 را نصب کنيد. مسير نصب همان مسيری باَشد که Personal Oracle8.0.x را نصب کرده ايد.
5- از شاخه bin2 که Backup شاخه bin است تمامی فايلها را به جزء SQLLIB80.dll, cor40.dll, nlsrtl33.dll انتخاب کنيد و روی شاخه bin کپی کنيد يا Overwrite کنيد.
حال با بودن Windows 2000/ XP و اوراکل 9i چه کسی می خواهد Personal Oracle 8 آن هم روی Windows98 کار کند خدا داند.
مراحل زير را به ترتيب انجام دهيد:
1- ابتدا Personal Oracle8.0.x که x نشاندهنده نسخه اوراکل است مثل 1,2,3. روی Windows98 نصب کنيد.
2- زيرشاخه orainst را در شاخه اوراکل پيدا کنيد و آنرا تغيير نام دهيد (Rename) .
3- از کل شاخه bin در زير شاخه اوراکل Backup بگيريد و آنرا بنام bin2 در جای ديگری روی هارد خود نگهداريد.
4- حال Oracle Developer2000 را نصب کنيد. مسير نصب همان مسيری باَشد که Personal Oracle8.0.x را نصب کرده ايد.
5- از شاخه bin2 که Backup شاخه bin است تمامی فايلها را به جزء SQLLIB80.dll, cor40.dll, nlsrtl33.dll انتخاب کنيد و روی شاخه bin کپی کنيد يا Overwrite کنيد.
حال با بودن Windows 2000/ XP و اوراکل 9i چه کسی می خواهد Personal Oracle 8 آن هم روی Windows98 کار کند خدا داند.
پنجشنبه، آذر ۲۸، ۱۳۸۱
Oracle , ASP, IIS
اگر از زبان ASP محصول ماکروسافت برای برنامه نويسی صفحات web و از اوراکل برای بانک اطلاعاتی استفاده می کنيد چند نکته قابل ذکر است. در ASP برای اتصال به بانک اطلاعاتی اوراکل می توان از ODBC يا OLEDB استفاده کرد. معمولا روی يک سرور Windows 2000 دو محصول IIS و Oracle را نصب می کنند يا اينکه IIS را روی يک سرور و اوراکل را روی سرور ديگر نصب می کنند و فايلهای ASP را روی سروری که IIS نصب شده است قرار می دهند. در حالت دوم برای اتصال صفحات ASP به Oracle Server يا Oracle RDBMS بايد حتما Oracle Client را نيز در کنار IIS نصب کنيد تا بتوانيد به Oracle Server وصل شويد. با نصب آن Oracle ODBC و Oracle OLEDB نصب می شود ولی دقت کنيد هنگام نصب Oracle Client بايد قسمت مربوط به Programmer را انتخاب کنيد تا OLEDB نصب شود . بعد از نصب همه نرم افزارها و قرار دادن صفحات ASP بعد از اجرا صفحات Web ممکن است با پيغام اشکال ORA-12638 مواجه شويد برای رفع آن کافی است روی سروری که اوراکل و IIS نصب شده اند به زيرشاخه Oracle\ora81\network\admin يا اگر اوراکل 9i نصب کرديد به زير شاخه Oracle\ora92\network\admin برويد يا بهتر بگويم زير شاخه admin را پيدا کنيد و فايل Sqlnet.ora را با Notepad باز کنيد و خط
SQLnet.Authentication-services=(NTS را کامنت کنيد برای اين کار به ابتدای خط کاراکتر # را اضافه کنيد.
اگر از زبان ASP محصول ماکروسافت برای برنامه نويسی صفحات web و از اوراکل برای بانک اطلاعاتی استفاده می کنيد چند نکته قابل ذکر است. در ASP برای اتصال به بانک اطلاعاتی اوراکل می توان از ODBC يا OLEDB استفاده کرد. معمولا روی يک سرور Windows 2000 دو محصول IIS و Oracle را نصب می کنند يا اينکه IIS را روی يک سرور و اوراکل را روی سرور ديگر نصب می کنند و فايلهای ASP را روی سروری که IIS نصب شده است قرار می دهند. در حالت دوم برای اتصال صفحات ASP به Oracle Server يا Oracle RDBMS بايد حتما Oracle Client را نيز در کنار IIS نصب کنيد تا بتوانيد به Oracle Server وصل شويد. با نصب آن Oracle ODBC و Oracle OLEDB نصب می شود ولی دقت کنيد هنگام نصب Oracle Client بايد قسمت مربوط به Programmer را انتخاب کنيد تا OLEDB نصب شود . بعد از نصب همه نرم افزارها و قرار دادن صفحات ASP بعد از اجرا صفحات Web ممکن است با پيغام اشکال ORA-12638 مواجه شويد برای رفع آن کافی است روی سروری که اوراکل و IIS نصب شده اند به زيرشاخه Oracle\ora81\network\admin يا اگر اوراکل 9i نصب کرديد به زير شاخه Oracle\ora92\network\admin برويد يا بهتر بگويم زير شاخه admin را پيدا کنيد و فايل Sqlnet.ora را با Notepad باز کنيد و خط
SQLnet.Authentication-services=(NTS را کامنت کنيد برای اين کار به ابتدای خط کاراکتر # را اضافه کنيد.
نصب اوراکل 8i روی کامپيوتر پنتيوم 4 . Oracle 8i on Pentium4
وقتی CD اوراکل 8i را روی کامپيوتر پنتيوم 4 قرار می دهيد برنامه Setup اجرا نمی شود بعضی به غلط می گويند که از JRE يا همان Java Runtime Environment است. نصب آن ساده است کافی است ابتدا کل CD اوراکل را روی هارد کامپيوتر کپی کنيد سپس فايل symejit.dll را روی هارد پيدا کرده آنرا حذف يا تغيير نام دهيد سپس برنامه Setup را از روی هارد اجرا کنيد.
وقتی CD اوراکل 8i را روی کامپيوتر پنتيوم 4 قرار می دهيد برنامه Setup اجرا نمی شود بعضی به غلط می گويند که از JRE يا همان Java Runtime Environment است. نصب آن ساده است کافی است ابتدا کل CD اوراکل را روی هارد کامپيوتر کپی کنيد سپس فايل symejit.dll را روی هارد پيدا کرده آنرا حذف يا تغيير نام دهيد سپس برنامه Setup را از روی هارد اجرا کنيد.
توجه توجه
کلی Document خوب در رابطه با Oracle, Java, JSP, XML, UML در قالب فرمت PDF دارم ولی فضا برای Upload آن ندارم تا شما بتوانيد آنرا دانلود کنيد. 30MB فضا در سايت www.netfirms.com دارم ولی اين سايت اجازه دانلود فايل بيش از 256KB را نمی دهد از جمله Crack برنامه AllWebMenus3 Build492 را الان روی اين سايت Upload کردم ولی نمی توانيد دانلود کنيد. از دوستانی که سايتی می شناسند که اين محدوديت را ندارد لطفا از طريق Email اطلاع دهند . قبلا از همکاری صميمانه شما سپاس گزارم.
کلی Document خوب در رابطه با Oracle, Java, JSP, XML, UML در قالب فرمت PDF دارم ولی فضا برای Upload آن ندارم تا شما بتوانيد آنرا دانلود کنيد. 30MB فضا در سايت www.netfirms.com دارم ولی اين سايت اجازه دانلود فايل بيش از 256KB را نمی دهد از جمله Crack برنامه AllWebMenus3 Build492 را الان روی اين سايت Upload کردم ولی نمی توانيد دانلود کنيد. از دوستانی که سايتی می شناسند که اين محدوديت را ندارد لطفا از طريق Email اطلاع دهند . قبلا از همکاری صميمانه شما سپاس گزارم.
Access Password
شايد تا حالا فايل Access خود را رمزگذاری کرديد و آنرا فراموش کرديد يا اينکه يک فايل Access دريافت کرديد که دارای Password بوده و خواسـتيد رمزآنرا بيابيد. با اين برنامه بسيار کوچک می توانيد تمای فايلهای Access را باز کنيد.برای دريافت فايل اينجا کليک کنيد.
شايد تا حالا فايل Access خود را رمزگذاری کرديد و آنرا فراموش کرديد يا اينکه يک فايل Access دريافت کرديد که دارای Password بوده و خواسـتيد رمزآنرا بيابيد. با اين برنامه بسيار کوچک می توانيد تمای فايلهای Access را باز کنيد.برای دريافت فايل اينجا کليک کنيد.
Crack برنامه AllWebMenus3 Build 492
يکی از دوستان جناب آقای مهران طاهری از اينکه چرا Crack نرم افزار AllWebMenus3 را در سايت قرار ندادم شکايت کرده بود بايد بگويم که من Build492 آنرا دارم ولی هر بار که به سايت آن برای دانلود مراجعه می کنيد Build آنرا تغيير می دهند.ولی در سايت www.astalavista.com می توانيد آنرا جستجو کرده و Crack آنرا بيابيد. برای دريافت فايل اينجا کليک کنيد. اميدوارم که قابل استفاده باشد. ولی متاسفانه بايد بگويم قابل دانلود نيست لطفا مطلب پايين که با عنوان 'توجه توجه' آمده است را بخوانيد.
يکی از دوستان جناب آقای مهران طاهری از اينکه چرا Crack نرم افزار AllWebMenus3 را در سايت قرار ندادم شکايت کرده بود بايد بگويم که من Build492 آنرا دارم ولی هر بار که به سايت آن برای دانلود مراجعه می کنيد Build آنرا تغيير می دهند.ولی در سايت www.astalavista.com می توانيد آنرا جستجو کرده و Crack آنرا بيابيد. برای دريافت فايل اينجا کليک کنيد. اميدوارم که قابل استفاده باشد. ولی متاسفانه بايد بگويم قابل دانلود نيست لطفا مطلب پايين که با عنوان 'توجه توجه' آمده است را بخوانيد.
سهشنبه، آذر ۲۶، ۱۳۸۱
نرم افزار PLSQL Developer
شايد تا حالا با برنامه SQL Plus يا Oracle Builder اوراکل برای نوشتن Store procedure و Trigger استفاده کرده باشيد که يک محيط خشک بدون ديباگ کردن است و برای نوشتن توابع به زبان PLSQL مخصوصا اگر تابع پيچيده ای باشد اصلا مناسب نيست و وقت زيادی را بايد صرف رفع اشکال برنامه کنيد. نرم افزاری که معرفی می کنم اين مشکل را حل کرده است. واقعا عالی است با آن می توانيد توابع نوشته شده را خط به خط Trace و ديباگ کنيد ودر زمان بسيار کوتاه پيچيده ترين توابع و تريگرها را بنويسيد نام آن PLSQL Developer است من با نسخه 4.3 آن کار کردم . آخرين نسخه اين نرم افزار 5.0.3 می باشد برای اطلاعات بيشتر و دانلود آن می توانيد به سايت http://www.allroundautomations.nl مراجعه کنيد . در ضمن نسخه موجود 30 روزه می باشد برای Crack آن به سايت www.astalavista.com مراجعه کنيد. يا می توانيد از اينجا دانلود کنيد. نسخه بدون مدت آن را می توانيد از اين اينجا دانلود کنيد ولی يک فايل ZIP شده دارای Password است در ضمن اگر هم Password آنرا بدانيد برای نصب احتياج به Product Code دارد. شما وقت خود را هدر ندهيد چون من تمامی راهها را برای پيدا کردن Password و Product code صرف کردم ولی موفق نشدم . اگر کسی می داند محبت کند من را هم در جريان قرار دهد. نسخه 30 روزه آن با crack بدون مشکل کار می کند .
شايد تا حالا با برنامه SQL Plus يا Oracle Builder اوراکل برای نوشتن Store procedure و Trigger استفاده کرده باشيد که يک محيط خشک بدون ديباگ کردن است و برای نوشتن توابع به زبان PLSQL مخصوصا اگر تابع پيچيده ای باشد اصلا مناسب نيست و وقت زيادی را بايد صرف رفع اشکال برنامه کنيد. نرم افزاری که معرفی می کنم اين مشکل را حل کرده است. واقعا عالی است با آن می توانيد توابع نوشته شده را خط به خط Trace و ديباگ کنيد ودر زمان بسيار کوتاه پيچيده ترين توابع و تريگرها را بنويسيد نام آن PLSQL Developer است من با نسخه 4.3 آن کار کردم . آخرين نسخه اين نرم افزار 5.0.3 می باشد برای اطلاعات بيشتر و دانلود آن می توانيد به سايت http://www.allroundautomations.nl مراجعه کنيد . در ضمن نسخه موجود 30 روزه می باشد برای Crack آن به سايت www.astalavista.com مراجعه کنيد. يا می توانيد از اينجا دانلود کنيد. نسخه بدون مدت آن را می توانيد از اين اينجا دانلود کنيد ولی يک فايل ZIP شده دارای Password است در ضمن اگر هم Password آنرا بدانيد برای نصب احتياج به Product Code دارد. شما وقت خود را هدر ندهيد چون من تمامی راهها را برای پيدا کردن Password و Product code صرف کردم ولی موفق نشدم . اگر کسی می داند محبت کند من را هم در جريان قرار دهد. نسخه 30 روزه آن با crack بدون مشکل کار می کند .
دوشنبه، آذر ۲۵، ۱۳۸۱
AllWebMenus3
صفحه جديد را تازه ديشب ساعت يک بامداد تمام کردم خيلی از وقتمو گرفت . می توانيد منو را هر جا که دوست داريد حرکت بدهيد. وقتی که ماوس را بالای منو جايی که Class In Web است نگه داريد کرزر ماوس به شکل صليب می شود حال به روش Drag and Drop منو را جابجا کنيد.وقتی هم که صفحه را Scroll می کنيد منو نيز موقعيت جديدرا حفظ می کند با اين روش برای استفاده از لينکها ديگر لزومی ندارد مثل روش قبل صفحه را Scroll کنيد و به بالا برويد تا لينکها را ببينيد. برای ساختن اين منو از نرم افزار AllWebMenus3 استفاده کردم برای دانلود آن می توانيد به اينجا مراجعه کنيد ولی توجه داشته باشيد که برای Compile کردن منو به Crack احتياج داريد.بعد از کامپيال منو چند تا فايل JavaScript می سازد که با مرورگرهای IE,Netscsape,Opera سازگار است .اگر به سايـت www.allwebmenus.com برويد اين نرم افزار دارای يک Release Build است که هر بار آنرا تغيير می دهند. می توانيد برای يافتن crack آن به سايت www.astalavista.com مراجعه کنيد. برای ساختن افکتی که در سمت چپ-بالا می بينيد که فقط يک فايل GIF است از نرم افزار Ulead GIF Animator 5 و Ulead COOL 3D 3.5 استفاده کردم.
صفحه جديد را تازه ديشب ساعت يک بامداد تمام کردم خيلی از وقتمو گرفت . می توانيد منو را هر جا که دوست داريد حرکت بدهيد. وقتی که ماوس را بالای منو جايی که Class In Web است نگه داريد کرزر ماوس به شکل صليب می شود حال به روش Drag and Drop منو را جابجا کنيد.وقتی هم که صفحه را Scroll می کنيد منو نيز موقعيت جديدرا حفظ می کند با اين روش برای استفاده از لينکها ديگر لزومی ندارد مثل روش قبل صفحه را Scroll کنيد و به بالا برويد تا لينکها را ببينيد. برای ساختن اين منو از نرم افزار AllWebMenus3 استفاده کردم برای دانلود آن می توانيد به اينجا مراجعه کنيد ولی توجه داشته باشيد که برای Compile کردن منو به Crack احتياج داريد.بعد از کامپيال منو چند تا فايل JavaScript می سازد که با مرورگرهای IE,Netscsape,Opera سازگار است .اگر به سايـت www.allwebmenus.com برويد اين نرم افزار دارای يک Release Build است که هر بار آنرا تغيير می دهند. می توانيد برای يافتن crack آن به سايت www.astalavista.com مراجعه کنيد. برای ساختن افکتی که در سمت چپ-بالا می بينيد که فقط يک فايل GIF است از نرم افزار Ulead GIF Animator 5 و Ulead COOL 3D 3.5 استفاده کردم.
اشتراک در:
پستها (Atom)