Bisic Doc
Bisic Doc
inf
---------------------------------------------------------------------------------------
Mrt /f ghلذالة كل الفيروسات والبرامج الضارة
الفيروس المسؤل عن حزف ملفات exeاسمه salo.exeحاول تحزفه من الجهاز ومن الريجسترى واكتشف من taskmanager
Gpedit.mscلظهار تاسك بار
المر التالى يمكنك من جعل الويندوز مثل الجديد
المر من الدوس sfc /scannowوضع اسطوانة الويندوز فى الدرايف لكى ينسخ الملفات من السطوانة
شبكة التصال:يوجد فى الخدمات سجلين مسئولين عن ظهور ايقونة شبكة التصال local disk manager &plug and play
موضوع تحويل بيانات accessالى oracle
مبدئيا يجب وجود قاعدة بيانات او على القل اتصال بقاعدة بيانات قوى
اذهب الى محرك odbcواختار التاب user dsnثم addثم اختار فى الخر قاعدة بيانات oracle
يظهر صفحة فيها حقول ادخل اسم المصدر taha
فى حقل tns service nameاختار المعرف مثل orac
فى حقل useridضع اسم اليوزى ليكن hottانتهى ok
اذهب الى اكسس ثم اظهر جميع الجداول من خلل toolsثم optionثم hidden objectevsاو كائنات مخفية وذلك وذلك لظهار جميع
جداول اكسس
اذهب الى الجدول المراد تصديره ثم غير جميع انواع الحقول الى textلتحصل على جميع الحقول بصيغة النص
ايضا غير جميع اسماء الحقول الى حروف كبيرة مهمه جدا جدا جدا
قف على الجدول المطلوب تصديره الى اوراكل ثم اختار تصدير من حقل النوع اختر محرك odbc
سيظهر لك مربع لتحرير اسم الجدول فى اوراكل اكتب السم بحروف كبيرة مهمه جدا جدا جدا
سيظهر بعد ذلك شاشة لتعريف رابط odbcاختار التاب machine data sourceاشر الى الرابط ثم ok
سيظهر مربع التصال بقاعدة البيانات ادخل كلمة السر ثم okسيتم تصدير الجدول الى اوراكل ثم استمتع
ملحوظه:سينشئ الجدول وستراه تحت اليوزر ولكن لكى تتعامل معة ضعه بين كوتاشن " " مثل الجدول ""emp
ملحوظه نهائية:اذا لم تحول اسم الجدول واسماء حقوله الى حروف كبيره فلبد من اضافة "" بين الحقل والجدول
ملحوظه تقارير اوراكل :كي تتمكن من جعل التقرير يطوى نفسه ويكمل بياناته داخل نفس الورقة ثم يكمل في الصفحة الثانية اذهب الى الطار
الطويل الحاوي للحقول ثم خصائص ثم اختار العداد PRINT DIRECTIONواختار down/crosseثم اترك مسافة على يسار الحقول
الصلية لكى يتمكن المعالج من وضع الحقول الممتدة.
الرموت ديسكتوب ل يظهر الطابعات على الكلينت وما العمل؟؟؟
الحل فى
Start the Add or Remove Programs Control Panel applet (Start, Settings, Control Panel, Add or Remove
Programs).
Double-click the Add/Remove Windows Components button.
Select Application Server and click Details.
Select Internet Information Services (IIS) and click Details.
Ensure that the "Internet Printing" check box is selected.
Click OK to close all dialog boxes.
تتتتتتتتتتتتت:
اضافة حقل;)Alter table sara add dname varchar2(40
تغيير اسم الجدول;Alter table sara rename to sara1
تعديل نوع الحقل;)Alter table sara modify dname varchar2(60
حزف حقل;Alter table sara drop column dname
تغيير اسم الحقل;Alter table sara rename column dname to dname_a
لتغيير سيريال جدولين مثل transto and transtodataيتم التى :
-1انشاء جدولين مماثلين للجدولين السابقين بطريقة createلن امر copyل يعترف ب العشريات
-2امل الجدولين بالبيانات بطريقة select
-3اعمل deleteلجدول التفاصيل
ملحوظه الخطأ الذى يظهر عند تشيع التقرير وهو unable to create temporay file:يرجع لعدم وجود الفولدر
c:\orant\reports60\tmp
الخطأ(ORA-01727: numeric precision specifier is out of range (1 to 38 :
هذا الخطأ يظهر نتيجة استعمالك لل sqlplusقديم ولكن استعمل الصدارات 9و 10الخ
ملحوظه جريئة وجد ان احد العملء يشتكى من ان الحقل ل يقبل الكسور العشرية وقد تم البحث فى الفورم واثبت انه برئ برائه الزئب من دم ابن
يغقوب وتبين ان عند انشائك للجدول اصل باستخدام المعالج المعروف يضع فى الخانة scale 0اى يلزم الحقل بعدم وضع كسور ولعلج ذلك
عدل الحقل كالتالى ;alter table sanad_sarf modify dvalue numberاى ان الحقل المراد تعديله هو ..dvalueودمتم
مبدئيا لتنصيب قاعدة بيانات اواركل تأكد من التى:
حمل اعدادت اللغة العربية من الوندوز
حول جميع اعدادات اللغة الى العربية السعودية حتى فى ظل المود النجليزى والمود العربى
احذف جميع برامج antivirus
احزف جميع برامج تسريع الجهاز
احزف جميع برامج ادارة الشبكات بانواعها
بعد انشاء قاعده البيانات وتشغيلها تحت اى مود خذ نسخة من oracle registryلنها الجزء الوحيد الخارج عن سيطره اوراكل
يجب تخزين ملفات البيانات على اكبر عدد ممكن من القراص)اكثر من عدد الفضاءات والملفات لتوزيع I/Oعلى اكبر مساحه
ممكنه(
عند انشاء فضاءات جدوليه..اجعل لكل فضاء جدولى ملف بيانات منفصل بقدر المكان .
يجب انشاء فضاءات جدوليه منفصله للفهارس و القيود بمعزل عن الجداول الساسيه للبيانات
يجب الزام قاعدةالبيانات بدمج المتدادات التى فرغت نتاج حزف البيانات وذلك بتفعيل دور smonوذلك كالتى:
عند انشاء فضاء جدولى جديد يجب اعداد المعامل pctincrease 1وليس فارغ او صفر..عند انشاءك لفضاء
حاول جيدا ضبط العدادات الخرى )ص.(336
اذا اردت دمج المتدادات يدويا استعمل العباره التاليهalter tablespace taha default storage:
((pctincrease 1
بقدر المكان اذا انشات فهرس على عمود مثل )) Aحاول ان تجعل ادراج البيانات على هذا العمود من A--->Z
بعد انشاء اجراء او داله حاول استعمال التعديل التالى لتجنب تكلفه التجميع فى وقت التشغيل:
)( ;ALTER PROCEDURE FUN1 COMPILEص .309
عند انشاء جدول حاول دائما ضبط العداد PCTFREE 20وضبط العداد PCTUSED 60ليتم تنظيم مساحه بلوك
التخزين فى الفضاء الجدولى
عند تعطيل واعاده تشغيل خدمه المثال فى serviceالويندوز هذا يولزم المثال باعاده تحميل ملف المعاملت مره اخرى)
(spfile
وكان مناسبه ذلك ظهور الخطأ )dispatchers) cannot start/shutdown the databaseوقد تم علج ذلك بتحويل مود قاعده البيانات
الى نظام DEDICATEDوذلك كالتى:ضع فى ملف TNSNAMESالعباره التاليه)CONNECT_DATA=(SERVICE_NAME=o
(rac)(server=dedicated
*ضع فى اعتبارك انه يجب ان يكون اسم ALIASل يترك مسافه بينه وبين بدايه السطر ويجب ان يكون السطور التابعه له تاركه مسافه على
القل مسطره واحده وال فلن يعمل الليس
عند انشاءك لجدول وهذا الجدول عليه عمليات قراءه وكتابه كبيره حاول بقدر المكان جعله منفصل عن الجداول المشابهه له.
المر التالى يستعرض بيانات البارامترات للنظام
show parameter shared_pool_size
DBA_SEGMENTSيستعرض الفضاءات والجداول المرتبطه بهذه الفضاءات وانواع الجداول وعدد البلوكات التى يشغلها
هذا الجدول فى الفضاء ص248
DBA_DATA_FILESيستعرض الفضاءات الجدوليه وملفات البيانات المرتبطه بهذه الفضاءات وحجم كل فضاء او ملف
بالبلوكص 248
DBA_FREE_SPACEيستعرض المساحة الخاليه فى الفضاء بالبلوك ص248
V$FILESTATيستعرض عدد البلوكات المخصصه للقراءه وللكتابة التى تجرى على مستوى الفضاء الجدولى ص259
V$DATAFILEيستعرض ملفات البيانات)اسم الملف وبياناته(ص259
USER_SOURCEيستعرض سطور كل اجراء او دالة سطر سطر المخزنه فى قاموس البيانات
USER/DBA_TABLESلستعراض الجداول الموجوده فى اسكيما او على مستوى النظام
USER/DBA_VIEWSلستعراض العروض الموجوده فى اسكيما او على مستوى النظام
USER/DBA_TABLESPACESلستعراض الفضاءات الموجوده فى اسكيما او على مستوى النظام
اذا اردت معرفة الجدول المقابل فى key foriegneفخذ هذا المثال:
- SELECT TABLE_NAME,CONSTRAINT_NAME FROM ALL_CONSTRAINTS
WHERE CONSTRAINT_NAME IN (SELECT R_CONSTRAINT_NAME FROM
- ALL_CONSTRAINTS
;('WHERE TABLE_NAME='DEPTDATAهنا استبدل deptdataباى جدول اخر
- SELECT TABLE_NAME,CONSTRAINT_NAME FROM ALL_CONSTRAINTS
WHERE R_CONSTRAINT_NAME IN (SELECT CONSTRAINT_NAME FROM
- ALL_CONSTRAINTS
;('WHERE TABLE_NAME='DEPT
يجب مراقبه البلوكات الحره والمستخدمه فى الفضاءات الجدوليه اسبوعيا خلل شهر او اكثر)من خلل برنامج الداره(
لمعرفه الى اى مدى يتضخم الفضاء الجدولى كل اسبوع وعمل جرافيك يبين هذا التضخم ومن ثم النتباه الى هذا الفضاء
وعمل اللزم له اما اضافه مساحه ضخمه تتناسب مع المد او نقل بعض الجداول التى تضخم هذا الفضاء
وذلك بتحريكها الى فضاء جدولى اخر
اذا تم ازاله عباره اسم النطاق ) (world.من ملف listenerوملف tnsnamesوتم تشغيل المنصت مره اخرى تستطيع
التسجيل
بعد ذلك ل يهم اذا عدلت اسم النطاق ) (db_nameفى ملف init.oraاو ل ستسجل بدون ذلك
اذا اعددت قاعده البيانات على نظام الرشفه فانها ستتمسك بهذا العداد حتى لو تم قفلها ثم فتحها مره اخرى
المشهد USER_OBJECTSيستعرض كل كائنات السكيما )جداول-عروض-دوال-اجراءات..الخ( ويستعرض تاريخ الكائن
واشياء كثيره حاول التعرف عليها—كذلك ALL_OBJECTSيستعرض كائنات قاعده البيانات وهذا مفيد للبحث عن جدول
معين فى كل قاعده البيانات..
اذا اردت قياس المده الزمنيه لرد قاعده البيانات على نداء معين فشغل هذا الجراء من الدوس
Tnsping 100.116.100.3 20حيث ان ipالمذكور هو اسم جهاز قاعده البيانات.
خاصيه )flashbachفقط (10g
عملها مماثل لسله المهملت بالضبط وعندما تقوم ب ;drop table daraسيتحول الجدول الى السله وتستطيع استكشافه من خلل ظهوره
كجدول بهذا الشكل bin$04lh…….==$0من خلل المر ;select * from tabولن يوضح اسم الجدول ولكن من خلل استعراض سله
تستطيع عرض الجدول والسم الذى ظهر ..…bin المهملت بالمر التالى;show recyclebin:
اذا اردت استعاده الجدول من سله المهملت اليك المر التالى:
;Flashback table dara to before drop
لتفريغ سله المهملت استخدم المر ;purge recyclebin
ولحزف الجدول بدون نقله الى سله المهملت استخدم المر ;drop table dara purge
بفرض ان لديك date_birthوهو من النوع dateوفى احدى الستعلمات اردت ان تضع العباره where
date_birth=sysdateلن يفلح استعلمك ابدا وذلك لن التاريخين يحملن الوقت بالثانيه والدقيقه ولعلج ذلك استبدل العباره
التاليه بالشكل التالى (’Where to_char(date_birth,’dd-mm-yyyy’)=to_char(sysdate,’dd-mm-yyyyبذلك
سينجح الستعلم لنك حصرت التاريخين فقط فى اليام والشهور والسنوات
موضوع constraintsالضوابط والخاص ب
index
Not null
Primary key
Foreigne key
Uniq
Chick
الشرح:
Indexيعتبر objectمثله مثل اللهداف الخرى يوضع على اسكيما وعلى tablespaceتماما مثل الجدول..
الغرض منه هو ترتيب الجدول تصاعديا)الفتراضى( حسب الحقل الذى عرف عليه الفهرس والترتيب يكون فزيائيا وليس مثل
order byكما انه يخزن بيانات خاصه به على الجدول مثل الصف رقم 10فى المكان الفزيائى رقم كذا على الهارد ديسك لذلك
يسهل عمليه الوصول والرتابه باسرع وقت..اذا اردت ان يكون الترتيب تنازليا يضاف عباره descبعد اسم الحقل مع مسافه..مثل
عند انشاء فهرس استخدم
لنشاء فهرس عادى--تصاعديا;(Create index sara on emp(empno
لنشاء فهرس تنازليا;(Create index sara on emp(empno desc
Not nullمعروفه وهى تعرف على اى حقل
بالضافه الى ذلك يمكنك جعل الفهرس يحافظ على جعل البيانات وحيده ل تتكرر وذلك عند انشاء الفهرس مثل:لنشاء فهرس عادى
استخدم create index sara
ولنشاءه بحيث يكون فريد .....create uniqe index saraانتهى
Primary keyهى مفتاح يوضع على احد الحقول لضمان شيئان الول عدم تكرار البيانات فى حقل وتخليق فهرس على
هذا الحقل ولن الفهرس ليس فيه خاصيه الوحداويه للحقل لذا يقوم هذا المفتاح بذلك
Uniqeهو مفتاح يعرف على حقل يضمن فقط الوحدانيه لبيانات الحقل
Forieng keyمفتاح لضمان تنظيم البيانات بين master and detail
Chickمفتاح يوضع على حقل لضمان ان هذا الحقل ل تقل او ل تكبر قيمته عن رقم او شى معين مثل Chick
empno<1500فهو يمنع دخول القيم القل من 500على الحقل empnoمثل
DATABASE LINKS
لنشاء رابط قاعدة بيانات استعمل العلقة التالية:
CREATE DATABASE LINK SARA CONNECT TO HOT IDENTIFIED BY HOT USING
;''ORAC_ALIAS
بالمناسبة لو حاولت ان تفتح اكثر من 4روابط سيرفض النظام لذا عليك زيادة عدد الروابط الى العدد المطلوب مثل الى 5من
خلل العبارة التالية:
;ALTER SYSTEM SET OPEN_LINKS=5 SCOPE=SPFILE
;ALTER SYSTEM SET open_links_per_instance=5 SCOPE=SPFILE
بعدها اقفل قاعدة البيانات ثم افتحها لتفعيل التغييرات
ملحوظه مهمة للغاية ::عند تشغيل اللينك احيانا تظهر رساله وهى
ORA-02085: database link TARR connects to orac
هذة الرسالة ناتجة عن شى واحد فقط هو ان الباراميتر global_nameموضوع على trueولحل هذة المشكلة اعمل العبارة:
;Alter system set global_names=false
ولكن ما حكاية ان يكون trueاو falseاذا كانت trueفهى تجعل جميع اسماء الروابط متشابهة فمثل فى حالة true
ل يمكن الحصول على نتائج ال بشروط معينه فى الرابط مثل يجب ان يكون
;'Create database link orac.world@med connect to med identified by med using 'orac
تلحظ هنا ان اسم اللينك يجب ان يكون على هذة الصورة فقط لحط ان orac.worldهى اسم global_nameلقاعدة
البيانات البعيدة وهو دائما الموجود فى ملف tnsnameفى اخر عبارة
ررررر رررر رر ررررر رر ررررر رررررررر ررر ررررر رررر Ora-01033
رررررر التأهيل حتى 5ساعات هذا يحدث فقط عند initializing databaseرررر ررررر رررررر
..سنتكلم بالتفصيل controlfileفصل الكهرباء عن السيرفر مرة واحدة مما يتسبب فى تدمير
الحل؟..
اعمل التالى
;Shutdown
;Startup nomount
;Alter database mount
;Alter database open
اذا تحدث عن خلل ما فى control fileاعمل التالى
مبدئيا انسخ ملفات الكنترول فيل الى مجلد جديد للحتياط..ثم انسخ ملف controlfile02على controlfile01ثم اذهب الى
ملف init.oraثم احزف كل controlfilesما عدا controlfile01فقط
نفذ الوامر التالية:
Sys/system as sysdba
;Sql>recover database
هذا المر سيعيد وصغ controlfilesالى وضعة الطبيعي سينشى ملفات 02و03
بعد ذلك نفذ الوامر التالية
;Shutdown
;Startup nomount
;Alter database mount
;Alter database open
في بعض الحيان يحدث ان تكةن قاعدة البيانات والمنصت يعملون جيدا فى الخدمات ولكن يعطي خطأ مثل initializingاى ان
قاعدة البيانات ما زالت تفتح ول يمكن الوصول الى البيانات الحل
;Shutdown
;Startup nomount
;Alter database mount
;Alter database open
سيقول لك file 1 needs media recoveryويكتب تحتة مسار ملف البيانات ماذا تفعل
اكتب المر التالي ;'recover datafile 'D:\ORACLE\ORADATA\SONA\SYSTEM01.DBF :وليكن
system01هو المكتوب ..سيصدر اخطاء اخر دنك وراه حتى ينتهى زبعدها افتح قاعدة البيانات
اجعل منصت واحد فقط فى serviceوحزف جميع المنصتات الموجوده باستخدام regedit
حاول جعل ملف listener.oraعلى الصيغة التاليه:
= LISTENER
)= DESCRIPTION_LIST
)= DESCRIPTION
)= ADDRESS_LIST
)((ADDRESS = (PROTOCOL = TCP)(HOST = tarek2)(PORT = 1521
(
(
(
= SID_LIST_LISTENER
)= SID_LIST
)= SID_DESC
)(GLOBAL_DBNAME = orcl1.world
)(ORACLE_HOME = C:\oracle
)(SID_NAME = orcl1
(
)= SID_DESC
)(GLOBAL_DBNAME = orcltaha.world
)(ORACLE_HOME = C:\oracle
)(SID_NAME = orcltaha
(
(
على اعتبار ان الجزء الثانى يجب ان يشمل لكل قاعده بيانات sid_descمختلف انظر الى السابق جيدا
اذا ارد عدم تشغيل الكمبيوتر مره اخرى افعل التالى:
اذهب الى dosثم اكتب فى خطوات منفصله:
lsnrctl
stop
start
بعد ذلك تاكد ان كل ما فعلته جارى تشغيله وذلك بكتابه عباره:
status
سيظهر عباره تشغيل الخدمات لقواعد البيانات )تاكد جيدا من ظهور اسماء الخدمات(
تمت
اذا اردت تشغيل الكمبيوتر فشغله ولن تحتاج الى الجراءات السابقه فقط تاكد من وجود منصت وشغال
اذا اذدات المور سوء اذهب الى وشغل التالى oracle\bin\tnslsnr.exe
موضوع تحويل ملفات تقارير اوراكل الى ملفات اكسل
هذا الموضوع شيق للغايه فانت بعد التحويل ستحصل على ملف ذو امتداد xlsكملف اكسل والطريقة كالتى:
الحصول على الداه Rep2excelوهى تابعه لوراكل ستجدها فى our_filesويجب ان تضع فولدرها بالكامل على السى لنها تحتاج
لهذا الفولد )ملحوظه الداة تحتاج الى تسجيل وشراء لن المرفق نسخة تجريبية(
هذه الداة تحول ملفات htmالتى تم توليدها من التقارير ول تتعامل مباشره مع الملفات ذات المتداد ) repمن الممكن تحويل
ملفات repاو حتى rdfالى htmمباشرة من خلل الدوس( ..فقط اكتب هذا الكود على الدوس وسيقوم بتحويل الملف repاو
حتى rdfالى ....htm؟
c:\orant\bin\rwrun60.exe report=c:\wer.rep userid=scott/tiger@orac destype=file
desformat=html desname=c:\dara.htm batch=yes
بهذا الكود تستطيع تخليق ملف htmمباشرة من ملفات تقارير اوراكل
بعد ذلك شغل الداة كاتالى اذهب عن طريق الدوس الى موقع الداة فى الفولدر ثم اكتب:
Start Rep2excel –i:c:\dara.htm –o:c:\nara.xls
اجرى على السى لترى ملف nara.xlsقد تم تخليقه شغله ستجد اكسل تعرف عليه)يجب انشاء كود لو اردت استعمال forms
بالمناسبه يوجد دالة فى plsqlاسمها hostتشغل العبارات على dosمباشرة مثل
)Host
Start
ثم أختيار أمر
Run
ثم تكتب المر
sfc /scannow
سيطلب منك ادخال اسطوانة الكس بى كما بالصورة
.10اذا اردت تشغيل صفحة ويب من خلل الدوس اكتب المر التالي
@start www.google.com
متعلقات ال (registry(reg.exe
مجموعه المثله التاليه تعطى توضيح شامل لملف نظام التشغيل reg.exeتحت) DOSمستند رقم (12/2005
بالضافه الى ان عمليتى SAVEو RESTOREوالتى تعنى تصدير واستيراد مفتاح وتخزينه فى ملف ذو امتداد hiv.
هذا النوع ل يمكنك من رؤيه محتويات الملف مثل سابقه ذو المتداد REGكما يمكنك من تشغيل المر حتى على الرموت
معلومه:القسم اليسارى من المحرر يسمى مفاتيح حتى الفرعى منه اسمه مفتاح فرعى ..اما القسم الموجود باليمن يسمى
قيم حيث يحتوى السطر على ثلث اشياء:اسم القيمة ونوع القيمة والقيمه نفسها
اذا اردت اضافه قيمه الى مفتاح استعمل التالى:
يوجد امر جميل جدا جدا وهو REGEDIT.EXEوتستطيع عمل الكثير مثل
اذا اردت تصدير مفتاح الى ملف REG.نفذ التالى
] "REGEDIT.EXE [ /L:system ¦ /R:user /E exportfile "registry_key
حيث registry_keyمسار المفتاح بالكامل
اذا اردت استيراد ملف REG.نفذ التالى
REGEDIT.EXE [ /L:system ¦ /R:user ] [ /S ] importfile.REG
حيث S/تعنى استورد بدون اسئلة
الفيروسات
ملحوظة ::1من افضل ما تم بخصوص الفيروسات برنامج الويندوز msconfigمن runيمكنك من تشغيل احتياجات الويندوز فقط بدون
النظر الى برامج بدء التشغيل ومن بينها الفيروسات اكتب msconfigفى الرن ثم diagnostic startupالوبشن الثانى او اذهب الى
startup tabواحزف ما تشاء من قائمة بدء التشغيل واعد تشغيل الكمبيوتر مرة ثانية ثم شغل النتيفيرس ------بعد ذلك يوجد برنامج
اسمه aida23_system_informationيمكنك من استعراض حجم الزاكرة وكل شى عن الكمبيوتر
ملحوظة ::2الملف gpedit.mscهو المسئون عن اظهار task manager
ملحوظة ::3قابلتنى مشكلة كبيرة ان شركة ما اطفئت الوصول الى تشغيل regeditلنه يوجد قيمة مفتاح على مسار قيمتها
1ولتشغيل الرجيسترى تكون 0فذهبنا وحزفنا المفتاح بالقيمه الفرعية هكذا
REG delete
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System /v
DisableRegistryTools /f
وهكذا تم حزف المفتاح الذى يخزن قيمة الطفاء ويوجد طريق اخرى وهى تغيير القيمى الى 0
ملحوظة بسيطة :1عند عمل جدول فى التقارير وكان فيه حقل اطول من الخر وكان الحل ان تنشئ خط ثم خصائص ثم اختار line
strich with frameبعدها اختار البلوك الواجب ان يتمط عليه الخط
ملحوظه :2عند استخدام الباكتج win_api_dialogعليك اول وضع ملف d2kwut60.dllفى orant\binهذا بعد اتاتش
d2kwutil.pll
اذا اردت انشاء شورت كت) (short cutعلى desktopمع وجود اسم
مستخدم وكلمه سر لملفات الفورم والتقارير فاعمل التى:
rclickعلى سطح المكتب ثم واصل مع المعالج بعد انشاء اليقونه فعل الخصائص ثم غير كل الهدف مثل المثال التالى هذا مع التقارير
ويمكن يكون مع النمازج
C:\orant\BIN\RWRUN60.EXE D:\rep_to_khal3.rep pers/appl4@makdb1
بخصوص developer 9iواجهتنى مشكله رساله تظهر بعد تشغيل start oc4jستظهر رساله عن active xولعلج المشكله
ازهب الى internet exp;orوكليل يمين ثم اختار securityوفيها اضغط على custom levelو enableلكل عبارات
active x
بخصوص التاريخ على الفورم..يمكنك وضع التاريخ باستخدام activexواستخدام الداه pickerالشهيره ولكن عليك تسجيلها فى النظام
حيث يوجد ملف MSCOMCT2.OCXالخاص بها على اسطوانه visualcوتعرف باسم Microsoft date and time picker
وتعرف حين تدرج دواله باسم. mscomctl2.dtpicker or 2يوجد على ourfilesفولدر اسمه_ oracleعليه ملف dll
وملف fmb
بخصوص الطباعة
اعدادات الطابعة واخراج تقرير ممتاز على A4بعرض الصفحة اتبع الخطوات التالية:
بعد اعداد التقرير على BUILDERاذهب الى NAVEGATORللبانى ثم قف على التقرير الساسى ثم خصائص
غير
UNIT OF MEASURالى CENTEMETERلكى تكون ابعادك كلها بالسنتيمتر
اذهب الى system parametersواختار orientationثم مواصفات ثم غير initial valueالى
landspace
تحت LAYOUT MODEثم MAIN SECTIONوعليها خصائص غير التىWIDTH=29 AND...
HEIGHT=20وايضا
للظهور الجيد للفونت عدله الى 11عند فتح RUNTIMEولطلب الطباعه ادخل الى PAGE SETUPوضع العدادات التالية:
ايسر=0.1 ايمن=0.35
سفلى= 0.106علوى=0.1
بخصوص وضع portraitيجب ضبط التقرير يدوى يعنى عليك اقصى عرض)اخر حقل (على قيمة 20ستراها اسفل الصفحة.
ملحوظة:عند رسم مستطيل مثل على headerالصفحة ل يظهر ال فى الول ولجعله يظهر دائما على كل الصفحات ازهب الى
propertyالمستطيل ثم غير print object onمن first pageالى all pages
للحصول على طباعة مضبوطة A4بالطول نفذ التالى:
اضبط edit marginحتى يصبح فى اول الصفحة ثم صغره ليصبح عند ) 20.19قف بالماوس على اخر المارجن(
ثم حاول ضبط الحقول بداخل المارجن ل اكثر ول اقل
للحصول على طباعة مضبوطة A4بالعرض نفذ التالى:
اضبط edit marginحتى يصبح فى اول الصفحة ثم صغره ليصبح عند ) 28.87قف بالماوس على اخر المارجن(
ثم حاول ضبط الحقول بداخل المارجن ل اكثر ول اقل
تتتتت تتت تتتتتتتت تتتتتتت
من المعلوم ان هذه الطابعات تطبع وتقف عند المكان التالى للطباعة واذا لم يكن طول الورق مناسب للطول الفتراضى للطابعة فلن
تقف الطابعة على بداية قطع الورق وهو المكان الواجب ان تقف عندة الطابعة استعدادا للطباعة اذا تم طباعة الورق وكان الفتراضى
للطباعة غير مناسب مع الورق ماذا تفعل........؟
شغل الكمبيوتر ثم startثم settingثم printers and faxes
من التولبار اضغط fileثم server propertiesيوجد فى المربع list itemsهذه الصناف هى التى تحدد طول وعرض الفرم
التى ستطبعها الطابعه المهم اذهب الى … Envelopواختار البعاد القريبة من المطلوب ثم اشر عليه ثم تشيك على create a
new formهنا سيقوم باضافة فورم جديد بالبعاد السفلية )اضبطها على اختيارك( ولكن ل تغيير اسم الفورم لنه standardحاول
فقط تغيير البعاد فى اسم الفورم فقط لنك لو غيرت السم سيضيفة ولكن page setupلن تعترف به
بعد ذلك اذهب الى ايقونه الطابعه ثم علم عليها ثم خصائص تحت التاب )عام( يوجد الزر printing periferanceثم اختار الزر
advancesثم اختار من paper sizeالفورم الذى طوله 14سم
وغير اعداداتها الى الفورم الجديد او من داخل تصميم تقرير اوراكل وسلمتك
معلومة جديدة ونار:يوجد دالة اسمها win_api_dialog.select_printerهى المسئولة عن اظهار مربع يظهر كل الطابعات
الموجودة فى الجهاز ولن يتطلب المكتبة D2kwutil.pllويجب ان يكون الملف d2kwut60.dllتحت orant\binالمهم
ستحتاج لكى تضع اسم طابعة افتراضية الى ملف دوس اسمه prnmngr.vbsوالطريقة هى:
"cscript c:\marshal\lib_ws\prnmngr.vbs -t –p "epson1300
بعدها سيقوم بجعل الطابعة المذكورة افتراضية.يوجد مثال حى فى setuation.fmbفى مشروع التأجير
بخصوص تقرير master-detailيوجد ملحظات:
بفرض وجود كود للماستر وكود ديتيل فى حاله ان جدول الماستر ليس له قيمه بدون الديتيل مثل ..فاننا نتبع التالى:
نشغل معالج التقرير ثم نختار group aboveثم نعمل على الديتيل ونختار الكود codeمثل ثم نستمر.....
فى صفحه report editorنضغط على sql queryثم نكتب استعلم لجلب بيانات الماستر مع اضافة whereالى الماستر
كى نختار كود معين ..بعد ذلك اضغط على علمه data linkووصل بين كود الماستر الى كود الديتيل
هنا نستطيع توسيع المنطقه التى بها الكود codeلتشمل كل حقول الماستر كلها وليس هناك حاجه للربط بين كود الماستر وكود
الديتيل لنه تم ربطهم ب data likeالخط ..كمل تصميم التقرير كما سبق ولكن يوجد حاله اخرى...
هذه الطريقه لم نضع لها اعتبار من قبل حيث ان الحاله السابقه تفترض ان جدول الماستر ليس له قيمه بدون الديتيل ولكن ماذا اذا
كان الماستر له قيمه توضع فى العتبار مثل مثل الجهزه التى لها ملحقات فلبد من وضع ماستر )الجهزه( وديتيل)الملحقات(
وسواء يوجد ملحقات او ل يوجد فانه يوجد قيمه للماستر...ماذا نفعل؟؟؟؟؟؟؟؟؟؟؟
اتبع الخطوات السابقه من 1حتى 4بعدها.....
شغل المعالج report wizerفى صفحه اختيار حقول الجروب اضف اليه كود الماستر
بعد ذلك اضف حقل الكود الى displayثم اكمل المعالج..
فى تصميم التقرير )وليس فى المعالج( احزف مسمى الحقل والحقل codeالتابع ررررررر من التصميم
لحظ انك لو شغلت المعالج سيعود الكود مره اخرى .....وسع المساحه التى بها الكود للماستر لتتسع لكبر عدد من حقول
الماستر.....انتهي
طريقه وضع العبارة التى يجب وضعها فى نموزج معاملت التقرير
select null,null from dual union all
select dname,to_char(code) from w_drivers
order by 1
يجب ان يكون الحقول المختارة كلها charواذا وجدت حقول numاو dateتحول الى char
ضع فى العتبار ان اول الحقول المختارة وهنا هو) (dnameهو الذى سيتم وضعه فى البارامتر
لبد من union all
اذا اردت الفهرسة على اعتبار الترتيب من a--zيجب وضع عبارة order by 1فهى ستجبر نتائج العبارة الى الترتيب
موضوع dlistالتسلسل فى التقرير ذو المجموعات
انشئ متغير بارامترى مثل p_listرقمى
انشئ r_listكما لو كان تسلسل عادى وصفره رقمى
ضع الكود التالى فى كود r_list
حيث work_ownerهو الجروب
begin
;if (nvl(:p_list,0)=nvl(:work_owner,0)) then return :r_list+1
;else :p_list:=:work_owner;if (:r_list=0) then return 0;else return 1;end if
;end if
;return 0
;end
كيف يمكن الستفادة من المفاتيح الوظيفية key functionsفى forms
مبدئيا ل يوجد تريجر يقوم بهذه الوظيفة ..بحثت فى ذلك
لكى توجد وتغير المفاتيح الوظيفية كلها يوجد برنامج فى الدفولوبر يقوم بذلك ولبد منه واسمه oracle terminal
كما يوجد ملف اسمه fmrusw.resوهو الملف المخزن به افعال المفاتيح الوظيفية
قم اول بفتح oracle terminalمن قائمة ابدأ ثم من قوائم الديفولوبر فى البرامج وهو مع project builder
بمجرد فتح البرنامج سيطلب منك الملف المخزن فية افعال المفاتيح الوظيفية اتجه الى c:\orant\bin\forms60\fmrusw.res
هذا هو المسار ..سيظهر لك مربع ابيض اضغط على Kبعدها سيظهر لك مخطط ..key bindingاختار normalثم اضغط على زر
edit key bindingالموجود يمينا..هنا سيظهر المفاتيح والوظيفه المقابلة لها ..هل تريد جعل المفتاح F11يقوم بالطباعة؟حسنا..اضغط
على زر INSERT ROWالموجود يمينا سيأتى لك سطر جديد اضف فيه F11 Print
بعد الجراء اعمل okبعدها ثم okمره اخرى
يوجد زر مثل ماكينه الطحين باللون الخضر اضغط علية وتأكد بان رسال النجاح ظهرت
بعدها قم ب file and saveلحفظ التغييرات فى ملف fmruswالذى قمت بفتحه من قبل فاكر؟؟
الخطوة الهم من ذلك انه عندما تريد ان يقوم البرنامج بقدح اجراء printعند الضغط على f11يجب ان تنسخ الملف fmrusw.res
الى المسار c:\orant\bin\forms60\fmrusw.resفى orantعلى كل الكلينت ودمتم.
نحن لم نصل للن الى كيف يمكن تنفيذ طباعة ملف تقرير ؟
عند الضغط على F11سيتم ظهور شاشة طباعة الصفحه وهو نتيجة تنفيذ المر print
يوجد تريجر وهو key-printهذا التريجر عند فتحه يمنع تنفيذ المر printوتستطيع وضع اى امر مهما كان في الكود بتاعه مثل طباعة
ملف مباشرة الى الطابعة او حتى عرض اى نموذج .ودمتم...
متعلقات installation for oracle
اذا لم تستطع تشغيل تحميل اوراكل ويقفل بعد الفتح دائما حاول اذاله كل متعالقات الفولدر مثل) (orantواذا كنت محمل قاعده بيانات
على النظام ولها رجيسترى oracleفافعل التالى:صدر من الرجيسترى oracleثم احزف oracleمن الرجيسترى ثم شغل معالج
التحميل وفى صفحه انشاء فولدر الدفولوبر مثل اذهب سريعا الى الرجيسترى ورجع ما صدرت بعد الطمئنان على الستيراد واصل مع
المعالج بقيه تحميل الدفيلوبير
متعلقات النظام
اذا اردت تحميل اوراكل على win xpعليك اللتزام بالتى:
Control panel-regonal optionحوله كله الى English
متعلقات ODBC
يحتوى شاشة المحرك على : TAB 7
USER DSNيوضع فيه الوصلت التى تخص المستخدم الحالى فقط ول تظهر عند المستخدمين الخرين.
SYSTEM DSNيوضع فيها الوصلت التى تخص النظام ول يصل اليها المستخدمون ال بصلحيات
File dsnيوضع فيه وصلت توضع على صوره ملف على مثل السى :cوهو الفضل لكى يستطيع جميع المستخدمين الوصول اليه
من 4حتى tab 7مجرد معلومات فقط
لك كل الختيار فى عمل الوصلت الثلث السابقه وكلها واحد مع الفرق المزكور..الن سنعمل وصله لوراكل..
معنى الوصله انك تعمل اتصال باسكيما فقط
باستخدام tab user dsnاضغط addسيظهر لك قواعد البيانات اختر مثل .…Microsoft odbc for oracle or oracle in
وياريت تستخدم الختيار الثانى لنه متأكد من وجود قاعد البيانات –ثم finishسيظهر مربع حوار اكبر..
اكتب فى ال data sorce nameاسم الوصله مثل salam
Descriptionمجرد كلمات للوصف والهميه
Tns service nameاكتب اسم المثال)(orcl
Useridمثل scott
يمكنك جعل الوصله فقط للقراءه وذلك بتنشيط chick read only conn
اضغط okلكى تنشئ الوصلة.
ستظر الوصله الن فى الصندوق.
الن كيف يمكن تصدير جدول فى accessالى ..oracle
فى البدايه اذهب الى وصف حقول الجدول ثم غير كل الحروف الصغيره مهما كانت الى حروف . CAPITAL
حاول ان تجعل بيانات الجدول ل تحتوى على حروف غير مسموح بها فى اوراكل
افتح accessوثم قف على الجدول المطلوب تصديره ثم كليك يمين واختار EXPORTسيظهر مربع مثل مربع فتح الملف ..
من اخر حقل مكتوب فيه SAVE AS TYPEاختار ODBC DATABASEبمجرد ذلك سيظهر مربع حوار يطالبك بادخال اسم
للجدول فى اوراكل )يجب ان يكون حروف كبيره لو سمحت( بعدها سيظهر حوار خاص بالمحرك به TAB 2حدد اسم الوصله سواء فى
TAB FILEاو TAB MACHINEاختار الوصله من اى منهما ثم OKسيظهر لك مربع حوار خاص باوراكل
ادخل اسم الخدمه مثل ORCLثم اسم المستخدم ثم كلمه المرور مثل) (SCOTT/TIGERبعدها OK
اذهب الى ORACLEواطمئن على وصول وانشاء الجدول
اذا ظهر الجدول فى عباره SELECT ..TABول تستطيع عمل DESC OR SELECT DATAعليه عليك حزفه لنه فاسد ول
يصلح للتعامل والحل ستجده فى وصف الحقول والواجب ان تكتب بحروف كبيره او فساد فى البيانات.
Swit
Purpose
ch
Also copies system or hidden files H/
Only copies system or hidden files Ho/
Allows read-only files to be overwritten or deleted R/
Back up only new files BN/
/
When <date> is specified, this copies files that were DA:<
changed on or after that date date
<
/
When 'n' is specified, this copies files that were changed on
DB#
or before 'n' days ago
<<n
/
When 'n' is specified, this copies files whose size (in bytes)
SZ:<
'in greater than 'n
-<n
When 'n' is specified, this copies files whose size (in bytes) SZ:-/
'in less than 'n <<n
Copies directories and subdirectories, except empty ones S/
Copies directories and subdirectories, including empty ones E/
Flattens subdirectories, and includes path information in the
SX/
new file names
Shows a progress bar for the copy PB/
Can be used to exclude files during when copying X/
Keeps file attributes the same as in the source directory K/
Updates files already found in the destination folder U/
Gathers files from subdirectories into a single directory SG/
/
Duplicates an entire directory or volume incrementally CLO
NE
Standard backup BU/
Incremental backup BI/
وهو برنامج مدمج مع الوندوز ولستعماله اكتب المر التالىtaskkill.exeبخصوص موضوع مشابة وهو
انشى برنامج تحت السى من النوع الديالوج وانشئ عليه ثلث ازرار لكى نعمل ثلث نمازج
تحت خصائص كل زر حدد لهم معرفات _ICDمثل .. ICD_BUT1,ICD_BUT2,ICD_BUT3لحظ اننا لن نتعامل مع
متغييرات من النوع كنترول للزرار
يوجد ملفات )(H&CPPلبد منها هى التى تورث خصائص شكل الزر وليس الخصائص المباشره و سنورد بالتفصيل:
الفئه CbuttonSTتوجد فى الملفات (BTNST(H&CPP:هذه النوعيه تعطى شكل جميل للزر و
يعنى انها ل تحتاج الى مكتبه فرأس الملف والجسم للداله معرفات فى)(BTNST.H—BTNST.CPPولكن هذه
الملفات تحتاج الى ملفى اخرين) (H&CPPهما BCMENU.H –BCMENU.CPP
ولكى تضيف هذه الملفات الربع الى مشروع الزرار انسخ الملفات تحت فولدر المشروع ثم اختر
.. project-add to project-filesثم اضف الربع ملفات ..انت الن معك الدوات
عرف متغير من نوع CbuttonSTليكن m_but1فى فئه الدايلوج.
فى فئه cppللديلوج تحت الداله dodataexchangeللديلوج ضع العباره:
(DDX_Control(Pdx,IDC_but1,m_but1
..هذه العباره تورث خصائص الفئه CbuttonSTلشكل الزر للزر المشار اليه ب IDC_but1
ولو تلحظ عند الترجمه ان الزر تغير شكله جدا
ولعطاء الزر ايقون جديد يجب اول فتح resource viewثم iconثم importواختار بعدها ايقون جيد وغير خصائص
اليقون الى IDI_but1مثل
لشحن اليقون الجديد بالزر ضع العبارات التاليه تحت oninitdialogفى فئه الديلوج:
;(m_but1.SetIcon(IDI_but1تحدد شكل اليقون
;(m_but1.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColorتحدد اللون عند وضع الماوس
لحظ ان هو متغير تستطيع تغييره فهو فى العاده ياخد القيمه 30واذا اردت اكثر بياضا زد على ..........30
ثانيا:::ان يكون شكل الزر كما لو كان ناتئ وواضح:
نفذ مثل السابق ولكن هنا بدل استخدام ملفات CbuttonSTسنستعمل CShadeButtonSTالموجوده فى ملفى
(shadebuttonst(h,cppالموجودتان فى الملف المذكور ايضا ل تنسى انها تحتاج ايضا الى الملفى cexdibبنوعيه)
(h,cppكل هذه الملفات موجوده فى الملف التجريبى
تحت oninitdialogضع ثلث عبارات من خللها تستطيع تغيير متغيراتها لتحصل على افضل شكل:
;(m_but2.SetShade(CShadeButtonST::SHS_HARDBUMPهذه لتحديد شكل الخيال
;(m_but2.SetIcon(IDI_icon1لتحديد شكل اليقون
;(m_but2.SetAlign(CButtonST::ST_ALIGN_VERTتحديد مكان تكست الزر
ملحوظه جميله قوى:فى داله setshadeيوجد متغيير واحد ! ولكن فى الصل يوجد 6متغيرات اضافيه انظر المثال cfiledialogst
ثالثا:::يوجد شكل اخر يعطى مثل شكل ازرار الوندو ز:
للفئه cwinxpbuttonstوالموجوده فى ملفى winxpbuttonstبنوعيه ) (h,cppوتتبع نفس الخطوات السابقه ثم اضف الثلث اسطر
التاليه الى :oninitdialogكالتى:
)m_but3.SetIcon(IDI_but1
;)m_but3.OffsetColor(CButtonST::BTNST_COLOR_BK_FOCUS, 30
;(m_but3.SetRounded(TRUE
رابعا:::يوجد شكل اخر يعطى شكل رائع الجمال وهى فئه CkeyboardbuttonSTوالتى لها ملف راس هو
keyboardbuttonst.hولكن فى وجود ملفى (BTNST(H&CPPكما فى المثال ckeyboardbuttst
تتبع نفس الخطوات كما فى المثله السابقه
خامسا::يوجد فئه اسمها cclockstموجود مثال بها تضع ساعه جميله.
الخلصه يوجد امثله متكامله فى اسطوانه ourfilesبها شروحات مفصله جدا
ستلحظ فى النهايه ان كل مجموعه من اول وثانيا وثالثا تحتوى عبارات مختلفه عن الخرى
خامسا:::يوجد حالة جميله لكنها تعمل على الشكل التقليدى للزر وهى حاله وضع زر صغيييير على الزر وعند الضغط عليه يستدعى
menuموجود فى resourceستجد هذا المثال فى مثال باسم splitbtn:تحت ourfiles
ررررر skinsررر ررررررر ++visual c
من ابسط ما يكون تحتاج فقط الى ملف الهيدر AppFace.hوملف المكتبه appface.libوانت تعلم جيدا كيف تضيف هذين الملفين الى
المشروع يوضع ملف الهيدر تحت فولدر inclideوملف المكتبه تحت فولدر libثم من خلل project—addtoproject-addfile
تضيف ملف المكتبه وتعرف ملف الراس فى ملف التطبيق الساسى
بعد ذلك اضف
;(SkinStart("C:\\test\\skin\\gtclassicex.urf",0,0,1,0,0
فى وظيفه initialول تنسى وضع ()SkinRemoveفى نهاية العمليات
ملحوظه:يوجد اكثر من appfaceكملف هيدر وكمكتبه ولن يعمل ال الموجود فى المثال للمشروع skin_taha
الذى يحتوى على المكتبه السليمه.بالمناسبه تحت المشروع يوجد فولدر اسمه skintoolsفية كيف تجرب الجلود وكيف
تصنعها انا جربت فقط ولم اجرب التصنيع.
متعلقات remote desktop
يمكن اعتبار windows xp,window 2003,windows server 2000كخوادم ولكل منهم خصائص:
اذا اعتبرت windows xpكخادم)اى نتصل عليه( فسيكون التصال عليه من عميل واحد بخلف
windows 2003 or windwos server2000وعندما تتصل عليه من عميل اخر فى نفس الوقت فسيتم فصل التصال القديم
ويوصل التصال الثانى..
اذا اعتبرت win 2003,2000كخوادم فستتلذذ بالتصال عليه باكثر من مليون عميل فى وقت واحد..
الشروط الواجب عملها على كل الجهازين :
يجب على جميع الجهزه تأهيلها بان تعتمد التصال البعيد كالتىstart—setting—control panel—system :
اختار remote tabثم نشط ………allow users to connect remotly to this computersهذا بالنسبه للوندوز
xp,2003
الجهاز العميل اذا كان win 2000او اقل من xpعليك بالتالى:
يجب نسخ فولدر) (win32موجود على انظمه wind xp or 2003مساره C:\WINDOWS\system32\clients\tsclient
وليس موجود على الصدارات القل..بعد نسخه على الجهاز شغل ملف setupبعدها سيظهر ايقونه التصال على سطح المكتب.
بخصوص الخوادم فان التصال يكون على مستوى administratorفقط ولكى يكون اتصال
العملء على مستوى مستخدمين غير admistratorعليك بالتالى:
على ايقونه my computerبالماوس يمين ثم manageثم local users and groupsثم اختار من الشجره
groupsثم فى الصفحه على اليمين دبل كليك على remote desk top usersفى صفحه membersادخل
المستخدمين المطلوب استخدام سطح مكتبه لتصال العميل.
انت الن جاهز لعمليه التصال بين العميل والخادم.
موضوع تنصيب php and oracleعلى الباتشى
اذا لم تضبط nls_langعلى قيمة حقيقية وليس NAفلن يعمل ابدا وسيعطى اخطاء
قبل ان تسطب الباتشي عليك اول ان تتأكد من ان خدمة iisللوندوز غير محملة لنه يجب ان يكون ملقم واحد فقط هو اللى شغال
عليك ان تعلم ان apatcheل يعرف لغه phpومن خلل الملف المذكور ستتمكن من تمكين الباتشى ليتعرف على اللغه
لقد لحظت انه لكى تتصل phpب oracleفانه يوجد php_oci8.dllهو المسئول عن كل التصالت ويجب ان يوجد اما
تحت system32او فى c:\php\ext
ويجب ان تذهب الى الملف php.iniقد ل يوجد بهذا السم فمثل هذا السم يوجد باسم php.ini-recommendedزيل ما
بعد iniليصبح فقط php.iniعلى الدوس ول يخدعك تنسيق الملف
تزيل ; من خلف المتداد اى يجب ان يكون extension=php_oci8.dllبدل من ;extension=php_oci8.dll
عليك ايضا ان تحمل معرف اوراكل على هذا السيرفر)المحمل عليه الباتشى(وال كيف سيتعرف دوال phpعلى tnsname
واين موقعه ..على العموم تحميل developerكاف على السيرفر وتتاكد جيدا انه يوجد logonمن هذا السيرفر على اوراكل
عند وضعك لكود phpداخل صفحة htmlل يتم ترجمه الكود السابق ولكى يتم ترجمة الكود السابق تأكد من وجود الثلث عبارات
التالية فى ملف httpd.confالموجود فى الباتشى
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .htm .html
ثم احفظ الملف واعد تشغيل الباتشى
قابلنا بعض المشاكل فى التصال منها ما يتعلق ب nls_langفيجب ضبط هذا المتغير سواء على اوراكل نفسها او على
السيرفر المحمل على الناتشى
ومن اهم المشاكل التى قابلتنى هو يجب عليك عند تعريف اسماء حقول الجداول لوراكل فى كود phpان تكون هذه ااسماء
بالحرف الكبير capitalوايضا عند استعمال الصيغة >? <? ;[php echo $results[" YEAR_CODE"][1زيييل كل
الفراغات الموجوده بين " واسم الحقل.
احيانا اذا لم تذكر عبارة phpبعد>? يظهر صفحة بيضاء
من المشاكل ايضا دوختنى انه عليك ان تستخدم العبارات التالية لقفل الستعلم والمؤشر وللعلم يوجد بعض المثلة من النت ل
تحوى هذه الدوال التى من غيرها ستحصل على رسائل مثل رسائل الوندوز القديمة التى كانت موجوده فى ++C
;)oci_free_statement($stmt
;)oci_close($conn
ما زلنا فى php
الدالة ociexecuteهى من اهم دوال phpللتصال باوراكل لكنها غامضه جدا عند تنفيذ هذه الدالة سيتم تنفيذ امر
statementسواء استعلم او ادراج سجل او غيره ولكن عند ادراج سجل او حزف سجل فانها بشكل افتراضى سيتم commit
لهذا السجل ولتنفيذ العبارة مع السماح بعدم commitبشكل افتراضى عليك استخدام متغير اخر لها وهما
OCI_DEFAULT
(OCI_COMMIT_ON_SUCCESS(default
فاذا استعملت الدالة مع المتغير OCI_DEFAULTستحصل على ادراج سجل بدون commitاما اذا اردت عمل commit
بعد ذلك
استخدم ()OCICommitللتثبيت أو
()OCIRollbackللتراجع عن المر........................
ما ذلنا فى phpكان لدى مشكله فى putenv('TNS_ADMINفهو مسئول عن تحديد ملف tnsnamesوالموجود بشكل
افتراضى تحت adminاوراكل وقد وجدت الحل ..انه عليك ان تكتبه بالصوره ..
;("putenv("TNS_ADMIN=c:\sara\dara
حيث يوجد ملف tnsnameعلى الفولدر dara
عليك ان تلحظ ان المسار يجب ان يكون خالى من الحرفين المتتاليين \ nمثل \ networkالشهيرة فى مسار اوراكل
امثله على استعمالت putenv
;('putenv('ORACLE_SID=kdk_db
;('putenv('ORACLE_HOME=x:\oracle8i
;('putenv('TNS_ADMIN=x:\oracle8i\network\admin
بخصوص موضوعى):(POST--GET
POSTمن خللها تستطيع منع المتغيرات من الظهور فى العنوان ومن خللها ايضا تستطيع ارسال واستقبال المتغيرات
المتداولة يعنى..
لستخدام POSTيجب عليك تهيئة الوسم FORMبالعبارة التالية:
><"FORM METHOD="POST
كى تعلم المترجم اننا بصدد حالة POST
اذا اردت تحسس ان المستخدم ضغط زر SUBMITعليك ان تستخدم العبارة التالية:
if(isset($_POST['submit']){DO…………….}issetواذا غيرت السم غيره ايضا فى "name="submitعلى فكرة يجب
عليك وضع اسم للزر مثل
واذا اردت معرفة ان المستخدم استعمل زر SUBMITذو القيمه TAHAمثل استعمل
{……………f ($_POST['submit']=='TAHA'){DOلحظ الفرق فى العباره
GETمن خللها تستطيع اظهار المتغيرات فى العنوان ومن خللها ايضا تستطيع ارسال واستقبال المتغيرات المتداولة
يعنى..
لستخدام GETيجب عليك تهيئة الوسم FORMبالعبارة التالية:
><"FORM METHOD="GET
كى تعلم المترجم اننا بصدد حالة GET
اذا اردت تحسس ان المستخدم ضغط زر SUBMITعليك ان تستخدم العبارة التالية:
{.……………if(isset($_GET['submit']){DO
واذا اردت معرفة ان المستخدم استعمل زر SUBMITذو القيمه TAHAمثل استعمل
{……………if ($_GET['submit']=='TAHA'){DOلحظ الفرق فى العباره
العبارة التالية تجعلك تعيد تفعيل الصفحة باستخدام getومع متغيرات جديده
;"<echo "<a href=\"$PHP_SELF?photos=10\">(show list below)</a
حيث photosتعتبر متغير معرف فى الكود)التفت الى \ بعد = فى العبارة فهى مهمة جدا.
من الملحظات عن الفرق بين get ,postان postتمرر اى نوع من المتغيرات سواء متغير معرف او formبخلف get
التى ل تمرر ال متغيرات formفقققققققققط.
من الملحظات التى سهرتنى الليالى هذا السؤال اذا مررت متغير الى موقع فمثل هذا الكود يمرر الرقم 89الى الموقع
TAMEM_LIST
);<echo "<a href=\"tamem_list.php?user_id=89\">(show list below)</aخذ فى العتبار كل العلمات
والشرطات(
حيث USER_IDمجرد متغير ليس له اى اشارة له داخل TAMEM_LISTوالسؤال كيف اصطاده داخل الموقع والجابه باستخدام
الدالة[" $_GET["user_idهذه هى الدالة الوحيدة للتقاط المتغير من فوق—بالمناسبة انا لم استعمل actionفى الفورم وبهذا ستظهر
المتغيرات فى العنوان
بالمناسبة اذا استعملت POSTفى قزف المتغيرات فيجب اصطيادها فى الصفحه باستعمال POST
ل تنسى طريقة كتابة [" $_GET["user_idيجب ان يكون user_idخط صغير
موضوع نسخ الملفات من جهاز الزبون الى السيرفريوجد ملف اسمه save_ftomc_toserver.phpفيه كل التفاصيل
ملحظه:ل تستطيع عمل submitاذا ضغطت على enterاذا كان ل يوجد ال حقل تكست واحد وزر submitولكنه سيعمل submit
اذا احتوت الصفحة على اكثر من تكست
ملحظه اخرى ل تستطيع عمل submitاذا ضغطت على enterاذا كان زر submitل يملك اسم مثل submitلن العبارة
((['if (isset($_POST['submitتفترض ان اسم الزر هو submitال اذا استعملت اكثر من زر باسماء مختلفة ساعتها ستضطر
الى استعمال الدالة البديلة التالية {……………f ($_POST['submit']=='TAHA'){DO
http://www.fuju.org/docs/php-oci8/apache-php-oci8-01.php
رررررphp iis ,
عند تشغيل هذا الملقم ل يحتوى افتراضيا على تشغيل صفحات :: php,aspx
1يوجد ملف اسمه wpilauncherاختصارا ل windows web platform installer2 betaوهو المسئول على
الجراءات القادمة قم بتشغيله
هذا البرنامج سيقوم بتنصيب Microsoft .net framework2.0استمر معه دائما سيأخذ هذا الجراء حوالى ربع ساعة
بعدها تأكد بان Microsoft .net framework2.0تم اظهاره فى add programsبدون مشاكل
2لكى يتم اعتماد وترجمة aspxيحب التى يوجد ملف اسمة aspnet_regiis.exeهذا الملف يأتى دائما مع Microsoft.net
ويكون دائما تحت المجلد framework
المهم اذهب الى المجلد الذي يحتوى الملف وقم بكتابة الملف تحت الدوس بالصورة التالية aspnet_regiis.exe –iاحزر ال تكتب
المر ال تحت framework
بخصوص php
هذا الموقع سيوصلن لتحميل framework
http://blogs.iis.net/bills/archive/2006/09/19/How-to-install-PHP-on-IIS7-_2800_RC1_2900_.aspx
واللذي بدورة سيمكن iisمن ترجمى php
{
;)UpdateData(FALSE
;(mysql_close(conn
{
ملحوظه:قابلتنى مشكلة اذا حملت قاعدة البيانات mysqlعلى جهاز وعملت وصلت odbcيجب ان تكتب hostك localhost
وليس اسم الكمبيوتر ول حتى ipللكمبيوتر )دوختنى(
ملحوظة :2وجدنا ما كنا نبحث عنه datagrid..يوجد شركه اسمها componentone stodioعندها ) ocx controlsيجب
عمل setupللملف الموجود فى dbgrid_ocxعلى (ourfiles
بعد النتهاء من التنصيب اعمل مشروع ++cواعمل وصله odbcثم اضف ocxالمسمى
)) microfost ado data control ver6لنه اداة التى تربط التطبيق بقاعده البيانات بطريق odbcبعد ذلك اضف ocxالتى)
(True OLE DBGrid 8 Controlثم اكمل المراحل التاليه ..ل تنسى اننا جربنا محاولت اخرى مع ocxاخرى لم تنفع
انتهى الموضوع
ررررررر HTML
هذا الوسم يمكنك من كسر نافذة الوندوز المقسمه الى اطارات يعنى اذا كنت تملك نافذة بها ثلث اطارات وكل اطار يعمل بصورة مستقلة
واردت ان تخرج من هذا التقسيم فلن تستطيع ال بهذا الوسم الذي يستدعى رابط tfetacos.htmlمثل ويجعله يمل النافذة
><A HREF="tfetacos.html" TARGET=MAIN>my link</A
هذا الجراء بال PHPيمكنك من فتح ملف مثل TXTوتفريغ محتواه
>?php
;("sar=file("newstab.txt$
((while(list($line_num,$line)=each($sar
}
;(echo "$line_num" . htmlspecialchars ($line
{
?<
يوجد موضوع مربك شوية وهو رررررررر وسنبسطها كالتى افترض ان الكود هو:
><"FRAMESET rows="50%,50%
><"FRAME name="fixed1" src="init_fixed.php
><"FRAME name="dynamic1" src="init_dynamic.php
><FRAMESET/
فى معظم الحالت ل يضع nameفى الوسم ولكن عندما تريد رابط موجود فى احد الطارات وتريده ان يصب فى الطار الخر يجب ان
يوجد معرف لكل اطار ال وهو nameلذا فان الرابط سيكون على الصورة:
><A href="admission.php" target="fixed1">slide 3.</A
هل فهمت.......؟