شناخت عبارت INSERT
ساختار دستور عبارت Insert شبيه به عبارت Select می باشد، بيشترين شکل مبنای آن عبارت است از:
INSERT [INTO] Table-or-View [(Column-List)]
VALUES (Value-List)
هر عبارت Insert می تواند يک جدول يا نما منفرد را به هنگام سازد. زمانی که شما از عبارت Insert برای به هنگام سازی يک نما استفاده می کنيد شما بايد آگاه باشيد از محدوديتهای زير:
View نبايد شامل يک تابع به هم پيوسته مانند COUNT يا AVG باشد.
View نبايد شامل Top ، GROUP BY ، UNION يا DISTINCT باشد.
View نبايد شامل يک ستون محاسبه شده باشد.
View بايد يک جدول را در شرط From باز گرداند.
عبارت Insert ستونهاي يک جدول منفرد را فقط به هنگام می سازد.
ليست ستون در عبارت Insert اختياری می باشد. اگر آن فراهم نگردد عبارت Insert بايد شامل مقاديری برای همه ستونها در جدول يا نما باشد و آنها بايد به همان ترتيب به عنوان ستونهايی در جدول يا نما فراهم شوند. اگر چه شما می توانيد از کليدهای ويژه DEFAULT برای مشخص کردن مقادير پيش فرض برای يک سطر استفاده کنيد. زمانی که ليست ستون گنجانده می شود. آن يک فرمت شبيه از ليست ستون در عبارت Select می گيرد: يک ليستی از نامهای ستون که با کاما جدا شده است. از زمانی که يک عبارت Insert می تواند يک سطر را فقط برای يک جدول اضافه کند، شما معمولاً نياز به استفاده کردن مشخصه نام جدول برای نام ستون نخواهيد داشت.
استفاده کردن از عبارت INSERT
يک عبارت Insert می تواند با استفاده کردن از قاب Grid برای مشخص کردن ستونها يا با استفاده کردن قاب SQL برای وارد کردن مستقيم عبارت ايجاد گردد.
درج کردن سطرها با استفاده از قاب Grid
قاب Grid احتمالاً آسانترين راه برای ايجاد يک عبارت Insert می باشد از زمانی که ياد آوردن هر ساختار دستور مورد درخواست شما نباشد.
درج کردن يک سطر با استفاده از قاب Grid
1- پوشه Tables را از پايگاه داده Aromatherapy راهبری کرده، جدول Oils را در قاب Details کليک راست می کنيم. در زير منوی Open Table رفته و Query را انتخاب می کنيم. Query Designer همه چهار قاب نشان داده شده را باز می کند.
راهنمايی: فرمان Query در Open Table يا زير منوی Open View يک راه سريعی برای باز کردن Query Designer با همه قابهای نشان داده شده می باشد. اگر چه حالت SQL پيش فرض SELECT*FROM
2- قاب SQL و قاب Results را پنهان می سازيم.
3- دکمه Change Query Type را در نوار ابزار Query Designer کليک می کنيم و Insert را از ليست انتخاب می کنيم. Query Designer قاب Grid را تغيير می دهد بنابراين آن فقط ستون و سل ها با مقادير جديد را نشان می دهد.
4- ستون OilName را برای قاب Grid اضافه کرده و مقدار جديدش را InsertFromGrid قرار می دهيم.
5- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer يک متنی را نشان می دهد که سطر اضافه شده برای جدول را تأييد می کند.
6- OK را برای بستن جعبه متن کليک می کنيم. بدون بستن Query Designer يک نمای جديد از جدول Oils با کليک راست کردن جدول Oils در قاب Details باز می کنيم. بر روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنيم. يک نمونه جديد از Query Designer باز می شود و همه سطرها در جدول Oils را نشان می دهد.
7- پايين آوردن Scroll به آخر جدول اين موضوع را تأييد می کند که يک سطر جديد اضافه شده است.
مهم: OilID در پايگاه داده تان احتمالاً با ID که خودمان وارد می کنيم تطابق ندارد. به ياد داشته باشيد که OilID به عنوان يک Identity Column تعريف می گردد. موجوديت ستونها SQL Server ضمانت می کند که يکپارچه باشند اما آنها ضرورتاً پی در پی نمی باشند.
ويندوزXPپس از نصب استاندارد ، فضايي بيش از 5 /1 گيگابايت از هارد را اشغال مي كند . شما با چند تغيير مي توانيد چند صد مگابايت از ظرفيت درايو را آزاد كنيد . براي اين كار بايد حالت Standby را غير فعال كنيد . اين عملكرد در ويندوزXP، فايل.sys Hiberfilدر فهرست اصلي را در پارتيشن سيستم قرار مي دهد . اگر به عملكرد Standby احتياجي نداريد ، آن را با دستور زير ، غير فعال كنيد :
Start > settings > Control panrl > power Options
درزبانه Power Schemesقسمت System Standby راروي Never تنظيم كنيد .
پاك سازي و مرتب سازي هارد از فايل هاي زائد
با استفاده از ابزار پاك سازي اطلاعات ، مي توانيد فايل هاي زائد و اضافي را پاك كنيد . درايوي را كه مي خواهيد مرتب سازي كنيد . انتخاب و دستور زير را اجرا كنيد :
star / programs / Accessories / Tools / Disk Cleanup
نمايش گروهي
براي اين كه بتوانيد همه فايل هاي موجود را به صورت يك فهرست درWindows Explorerنمايان كنيد از طريق منويViewوارد قسمتArrange lcon Byشويد وTypeرا فعال كنيد .
غير فعال كردن خاصيتwinzipدر ويندوز
در كامپيوتر هاي با سرعت پايين ، عملZipبه عنوان ترمزي براي سرعت سيستم به حساب مي آييد . اگر با يكPCبا سرعت پايين كار مي كنيد . توصيه مي شود كه اين عملكرد را غير فعال كنيد . از طريقstart / Runخط فرمان را باز كنيد و در سطر فرمان دستورzipfldr .dllRegsvr32 /Uرا تايپ كنيد . پس از تاييد توسط كليدOK، پيغامي ظاهر مي شود كه عمل غير فعال ، در همان مسير قيد شده در سطر فرمان دستورRrgsvr32 zepfldr . dllرا وارد كنيد .
ايجاد يك آيكون براي قفل كردن كامپيتر
نحوه ايجاد آيكني كه مي توانيد با دو بار كليك سريع آن ، سيستم رت در وضعيتLockقرار دهيد . براي چنين كاري ابتدا در صفحهDesktipراست كليك كرده و سپس گزينهshortcutNew / راانتخاب كنيد . در كادر متنيType the Location of lte ltemدستور زير را وارد نماييد :
rundll32 . exe user32 . dll . Lockworkstation
سپس گزينهNextرا انتخاب كرده و يك نام دلخواه براي ميانبر مزبور انتخاب كنيد . پس ازاين مرحله مي توانيد با قرار دادن آيكون ميانبر در هر محل دلخواهي با دو بار كليك سريع در آن سيستم رت در وضعيت قفل قرار دهيد .
My Document را جابجا كنيد
روي آيكونMy Documentدر صفحه نمايشتان ، كليك راست كنيدpropertiesو از پنجره ظاهر شده دكمهMoveرا انتخاب كنيد ، پوشه اي را كه قرار است محتوايMy Documentخود را به آن ، انتقال دهيد . اگر پوشه مورد نظرتان وجود ندارد مي توانيد از طريق گزينهMake New folderپوشه جديدي براي خود انتخاب كنيد .
نحوه استفادهRemote Desktop
شركت ماكروسافت با قرار دادن برنامهRemote Desktopدر نسخهXp professionalخود اين امكان را براي كار بران فراهم ساخت تا از راه دور به كامپيوتري در محل ديگر دسترسي يابند . در واقع شيوه كار اين برنامه به نحوي است كه به نحوه برقراري ارتباط ، سيستم راه دور به طور اتوماتيكLockمي شود و مادامي كه به آن مرتبط هستيد هيچ شخص ديگري نمي توتند به برنامه ها ، فايل ها و ساير منابع آن دسترسي داشته باشيد و هنگامي كه به محل كارتان باز گرديد مي توانيد آن را با فشار دادن كليد هاي Alt+CTRl+DEL از حالتLock خارج نماييد . از ديگر ويژگي هاي اين برنامه امكانloginدر يك زمان بر روي چند سيستم مي باشد ، حتي در حالتي كه ديگران نيز به آن سيستمLog inكرده باشند ، كار بر مي تواند برنامه هاي آن ها را بطور همزمان اجرا كند . براي دسترسي به امكانات و اجراي اين برنامه بايد موارد زير را در نظر داشته باشيد :
- يك كامپيوتر كه در آن ويندوزXP professional نصب شده و دسترسي به محيط اينترنت و يا شبكه را دارد .
- يك كامپيوتر ديگر در منزل و يا در همان محل شركت ( كه از طريق شبكه داخلي با هم مرتبط هستند ) با امكان دسترسي به اينتربت و مودم .
- نام كاربري، كلمه رمز عبور و مجوز هاي مناسب
نصب فكس
براي فعال كردن اين ويژگي در ويندوزتان ( البته در ويندوزXP) كافي است از پنجره Add / remove program panelControlو سپسComponenents Add / Remove Windowsرا انتخاب كنيد و از پنجره ظاهر شده گزينهFax Servicesرا برگزينيد دكمهNextرا انتخاب كنيد . پس از اين از شما براي نصب ، سي دي ويندوزتان را مي خواهيد كه با گذاشتن آن ، اين برنامه نصب مي شود .
فكس بفرستيد
براي اين كارDocumentمورد نظر را كه مي خواهيدFaxكنيد ، باز كرده و از منويfileگزينهprintرا انتخاب و در پنجرهprinter Boxبر روي گزينهFaxكليك كنيد تا ويزاد SendFaxباز شود ( توجه داشته باشيد در برنامه هايOfficeبراي اين كار بايد از منويfileگزينهSendو سپسFax Recipientرا انتخاب كنيد . ويزاردي با همان صورت ظاهر مي شود ) در مرحله بعد نوبت به اضافه كردن نام فردي مي شود كه مي خواهيد به ويFaxبزنيد . پس از طي اين مرحله ، آماده ايدDocumentخود را از طريقFaxبفرستيد .
فشرده كردن فايل ها
براي فشرده كردن يك فولدرXPياMeروي صفحهDesktopيا درون يك فولدر راست كليك كرده ، از منوي ظاهر شدهNewراانتخاب كنيد و سپس روي گزينهCompressed ( zipped ) folderكليك كنيد . يك فولدر جديد از ن.ع فشرده
( Compressed )در آن محل ايجاد مي شود كه نام پيش فرض آن( Ziped ) Folder New Compressedاست .
فولدر هاو فايل ها يي كه مي خواهيد روي آنها پسورد بگذاريد انتخاب كنيد و با استفاده ازCutوPasteبه اين فولدر فشرده انتقال دهيد .
رمز گذاري روي فايل ها
فولدر فشرده را باز كنيد و از منوي فايل گزينهAdd a password( در ويندوزMeگزينهEncrypt) را انتخاب كنيد . كلمه عبور دلخواه خود را در قسمتPasswordوارد كنيد و دوباره آن را در قسمتConfirm Passwordتايپ كنيد و دكمهOKرا بزنيد . از حالا به بعد تنها كاربراني كه كلمه عبور را بدانند قادر به باز كردن ، كپي يا انتقال محتويات اين فولدر هستند .
منويFavoriteرا رويDesktopقرار دهيد
از منويStartگزينهRunرا انتخاب كنيد . حال در قسمتOpenاز اين پنجره ، عبارت زير را تايپ كنيد :
iexplore- Channelband
توجه داشته باشيد كه ميان عبارتiexploreو علامت – يك فاصله قرار دهيد .
پس از تاييد پنجرهOpenمنويFavoritesرا روي صفحه نمايشتان خواهيد ديد .
|
| ||
|
کدهای مربوط به Upload کردن فايل به سرور را بايد به دو قسمت تقسيم نمود. قسمت اول شامل کدهايی است که نحوه نمايش در مرورگر را شامل می شوند و اساس آن بر HTML است. و قسمت دوم مربوط به طرف سرور است که شامل کدهايی است که با ASP.NET نوشته می شوند. برنامه زير حاوی کدهای مربوطه برای انجام اين کار به صورات خيلی ساده و ابتدايی می باشد. همانطور که ملاحظه می کنيد برخلاف ASP کلاسيک، نياز به وجود component خاصی نمی باشد و اين کار در ASP.NET بصورت خيلی ساده انجام پذير است.
Upload.aspx:
<HTML>
<HEAD>
<TITLE>Uploading File...TITLE>
<Script language="vb" runat="server">
sub page_load(s as object,e as EventArgs)
If Not (MyInputFile.PostedFile Is Nothing) Then
MyInputFile.PostedFile.SaveAs("c:\filename.ext")
Response.write("Your File was saved on the server...")
End If
endscript>
HEAD>
<BODY>
<FORM method="post" encType="multipart/form-data">
<input id="MyInputFile" type="file" name="MyInputFile" runat="server">
<input type="submit" value="Submit">
FORM>
BODY>
HTML>
در زير به شرح و توضيح برنامه بالا می پردازيم:
کدهای مربوط به طرف Client
به دليل آنکه در اين قسمت، ارسال اطلاعات به سرور را داريم، بايد کدهای مربوطه درون يک فرم قرار گيرند. اما لازم است که ويژگی encType آن فرم را به صورت زير مقدار دهی کنيم، زيرا در غير اينصورت فايل انتخاب شده توسط کاربر به سرور ارسال نخواهد شد:
encType="multipart/form-data"
در HTML کنترلی وجود دارد که وظيفه دريافت نام فايل و ارسال آن به سرور را عهده دار می باشد:
<input id="MyInputFile" type="file" name="MyInputFile" runat="server">
توجه کنيد که اين کنترل را به صورت يک سرور کنترل در می آوريم تا بتوانيم در ASP.NET از توانايی های آن استفاده نماييم و به همين دليل ويژگی runat="server" را به کنترل مربوطه اضافه کرده ايم. بنابراين کد مربوط به قسمت Client به صورت زير خواهد بود:
<body>
<form method="post" encType="multipart/form-data">
<INPUT id="MyInputFile" type="file" name="MyInputFile" runat="server">
<input type="submit" value="Submit">
form>
body>
2- كليد را تعريف كنيد و انواع آن را با مثال توضيح دهيد. 3 نمره
3- شرايط ايجاد يكپارچگی ارتباط در جدول چيست؟ 3 نمره
4- تفاوت انتقال جدول از بانك ديگر به كمك Import , Link چيست؟ 3 نمره
5- ابتدا اشكالات دستور زير را پيدا كرده، سپس علاوه بر نوشتن برنامه ی درست، عملكرد آن را شرح دهيد. INSERT IN List(Id,Name,Famili, Address,Tel
VALUES (‘123456’,Sara,’Asadi’, ‘ Rasht , Golsar’0131-7222222); 3 نمره
6- با مثال رابطه يك به چند را شرح دهيد. 2 نمره
7- جداول زير با فرض ارتباط بين فيلد Code بين دو جدول ايجاد شده است:
جدول List:
نوع فيلد نام فيلد توضيح
Number Code شماره كارمندی
Text Name نام كارمند
Text Family نام خانوادگی كارمند
Number Sh شماره شناسنامه
Text St محل تولد
Date B_date تاريخ تولد
جدول Salary :
نوع فيلد نام فيلد توضيح
Number Code شماره كارمندی
Number E_year سنوات خدمت
Currency ُSalary حقوق دريافتی
با زبان پرس و جوی ساخت يافته SQL دستورات خواسته شده را بنويسيد. هرمورد 1 نمره
1. ويرايش نام كارمندی كه به اشتباه "ممريم" ثبت شده است.
2. نمايش اطلاعات كارمندانی كه حقوق دريافتی آنها كمتر از 300000 ريال وسنوات خدمت آنها 30 سال است.
3. نمايش شماره كارمندی، نام خانوادگی و حقوق دريافتی كارمندان به طوري كه ستون نام خانوادگی به ترتيب صعودی مرتب شود.
4. حذف ركوردهايی از جدول salary كه سنوات خدمت آنها كمتر از يكسال باشد.
موفق باشيد.
| نقطه ی عطف صدا | |
| در ژرفای صدایت چیزی نهفته است... سری نهان است... در ژرفای صدایت دنیاییست پر از احساس در زلال بی کرانش ماهی های نقره ای می رقصند... در افق نگاهت خورشید طلوع می کند و پرندگان با هر کوچشان تازه می شوند... در ژرفای صدایت... انگار واژه ها خجالت می کشند...می خواهم از تو بنویسم، پس واژه های طلایی ام کو؟ دنبالشان می گردم...اما آنها در پس و پیش ذهنم قایم می شوند... در عوض هر کدام به نیابت از خودشان ترانه ی نابی را می فرستند در سردر ذهنم...انگار می خواهند بگویند:((بیا...این هم یک دنیا واژه ی طلایی...آن هم با صدا یک مرد نازنین...)) "ای تبلور حقیقت" نه، نمی شود... می خواهم به اندازه صد سال آرشیو وبلاگم، برای تو نوشته شود...می خواهم انقدر بگویم تا خوابم ببرد...مثل همیشه که شبها آنقدر گوش می دهم تا پلک هایم گرم می شود و...وقتی که بیدار می شوم انگار که چیزی را از دست داده باشم. خوب می دانم...این ناتوانی، این لکنت، این گم کردن واژه ها... می دانم امشب همه گرفتارش شدیم... این حال و روزآدمهایی ست که شیفته ی عشقی بی تعریف اند. شاید ساده ترین جمله ها بهترینها باشد... قبل از اینکه کسی رنگ و بوی مبالغه را به آنها داده باشد، اولین بار برای ناب تری معنیشان به کار رفتند. جملاتی مثل: "میلادت مبارک... ." سعی کردم به چشمانت خیره شوم و بفهمم در چه اندیشه ای هستی... شاید با آنها بشود چیزی نوشت برای امشب...اما نگاهت آنقدر عمیق بود که در آن غرق شدم... و چه پرسش های بی جوابی ... "تو منو از شب گرفتی" می دانم؛ چیزهایی که می گویم قابل فهم نیست! من احساساتم را می گویم... عمیق ترین هایشان را... سخت است؛ باور کن، نا جیه عاطفه ی من... "من آن موجم که بی تو آرامش ندارم..." "تو منو دادی به خورشید" |
فرق بین Multi Program و Multi Task چیست؟
سئوال 1: در multi program چه موقع عمل switching انجام می گیرد؟ وقت I/O
سئوال 2: در multi task چه موقع عمل switching انجام می گیرد؟ در یک برهه زمانی یعنی فقط منتظر عمل I/O
نمی ماند اگر به I/O بر خورد کند switch می کند. ولی اگر به I/O بر خورد نکند و آن برهه زمانی بگذرد بازهم switch می کند. یعنی پردازنده از آن گرفته می شود.
نکته1: یک سیستم عامل میتواند چند برنام ه(Multi program) باشد ولی چند وظیفه ای(Multi Task) نباشد. مثل ویندوز 1و2و3
چون فقط به I/O برخورد می کردند پردازنده Switch می کرد.
نکته2: یک سیستم عامل که هم چند برنامه(Multi program) و هم چند وظیفه ای(Multi Task) باشد. مثل ویندوز 95و98
چون اگر چند پنجره را باز کنید می بینید همه پنجره ها در حال فعلیت هستند. یعنی پردازنده ما بین آنها Switch می کند .
نکته 3: اشتراک زمانی (Time Sharing ) وقتی است که سیستم چند کاربره(Multi User) باشد.
مثال : وینوز 2000 و time sharing و multi task است. N تا کاربر بتوانند از طریق شبکه به یک سیستم وصل شوند و کاملا منابع اش را به اشتراک بگذارد. در ویندوز NT - n تا کاربر به آن سیستم می یابند و از منابع سیستم استفاده می کنند.
نکته 4: در وینروز95و 98 همه منابع غیر از حافظه و پردازنده را می توانیم به اشتراک بگذاریم.ولی در وینروز NT و ویندوز 2000و یونیکس همه منابع را می توانیم به اشتراک بگذاریم.
دو نکته ضرورت چند وظیفه ای بودن را روی کامپیوتر های شخصی موجب شده اند.{استالینگ 87}
1- با افزایش سرعت و ظرفیت ریز پردازند ه ها و با حمایت از حافظه مجازی ، کاربر ده پیچیده تر و مرتبتر شده اند .
برای مثال ممکن است کاربران بخواهند یک برنامه ، word ، یک برنامه Excel ، یک برنامه Autocad
را به طور همزمان برای ایجاد یک سند به کار برند.
1- باز کردن برنامه Autocad
2- رسم شکل و ذخیره آن
3- بستن برنامه Autocad
4- بازکردن Word
5- درج شکل در محل مناسب
در محیط چند وظیفه ای کاربر هر یک از کاربرد های مورد نیاز خود را باز کرده و به صورت باز رها می کند . و
اطلا عات به سادگی می تواند بین چند کاربرد حرکت کند.
ولی در تک وظیفه ای اگر تغییری در شکل لازم باشد کاربر باید برنامهWord را ببندد، برنامه Autocad را باز کند ، شکل را ویرایش و ذخیره نماید ، برنامه Autocad راببندد، برنامه Wordرا باز کند ودر نهایت شکل ویرایش شده را درج کند . که خیلی ملال آور است.
1- برای عملکر چند وظیفه ای ، رشد به کار گیری کامپیوتر به صورت مشتری / خدمتگزار(Client/Server) می باشد. در این دید گاه یک کامپیوتر شخصی (Client ) و یک سیستم میزبان(Server) مشتر کا، برای انجام یک کاربرد،خاص، بک کار گرفته شده اند. این تر تیب در یک کاربرد ممکن است یک یا چند کامپیوتر شخصی و یک یا چند دستگاه خدمتگزار (Client ) در گیر باشند.
برای هر کدام از وقفه ها ما سرویس روتین مربوط به خودش را داریم .
1-بافر کردن ( Buffering)، امکان همپوشانی ( همزمانی ) عمل I/O یک کار را با عملیات پردازش همان کار بوجود می آورد.در حالیکه spooling امکان همزمانی پردازش ورودی –خروجی چندین کار رابا یکدیگر فراهم می کند.
2- هر Spooling الزاما بافر دارد ولی بافر Spooling ندارد. .
سیستم Spooling راه حلی برای کار کرد ن با دستگاه های I/O انحصاری ، در یک سیستم چند برنامگی است. یک دستگاه Spool شده نوعی را در نظر بگیرید: یک چاپگر هر چند از نظر تکنیکی آسان خواهد بود که به هر فرآیند کاربر اجازه دهیم که فایل مخصوص کاراکتر ی را برای چاپگر باز کند، ولی فرض کنید که فرآیند آن را باز کند و برای ساعت ها کار نکند، در این حالت هیچ یک از دیگر فرآیند ها نیز قادر به چاپ کردن نخواهند بود.به جای این روش کاری که انجام گرفته است ، ایجاد یک فرآیند ویژ ه می باشد که شبح (Deamon)نامیده می شود و یک فهرست مخصوص که فهرست Spooling نامیده می شود.
برای چاپ کردن یک فایل ، ابتدا یک فرآیند تمامی فایل را برای چاپ شدن ایجاد می نماید وآن را در فهرست Spooling قرار می دهد. چاپ فایل های درون این فهرست بر عهده شبح است که تنها فرآیندی است که اجازه استفاده از فایل مخصوص چاپگر را دارد . با حفاظت فایل مخصوص از دسترسی مستقیم کاربر، مسئله باز نگهداشتن طو لانی و بیهوده آن نیز حل می شود.
Spooling: تنها در چاپگر به کار نمی رود ، بلکه در وضعیت های دیگری نیز استفاده می شود . برای مثال ، انتقال فایل از طریق یک شبکه معمولاً توسط یک شبح شبکه ای انجام می شود .برای ارسال فایل به مقصد ی مشخص ، کاربر آن را در فهرست Spooling شبکه قرار می دهد. سپس شبح شبکه آن را خارج ساخته و منتقل می کند.
نکته:
یک کاربرد و استفاده ویژه از انتقال فایل Spool شده ، سیستم پست الکترونیکی (Email) اینترنت می باشد. این شبکه شامل میلیونها ماشین در سراسر جهان است که با استفاده از شبکه های کامیوتری با یکدیگر ارتباط بر قار می کنند. برای ارسال Mail به شخصی ، باید برنامه ای مانند را صدا بزنید که نامه را جهت ارسال شدن می پذیرد و سپس آن را به صورت امانت در فهرست Spooling قرار می دهد تا بعداً ار سال شود. تمام سیستم Mail در خارج از سیستم عامل اجرا می شود
Spooling در تمام سیستم عامل ها قابل استفاده است.
حال وقت آن است كه در سيستم عامل خود تنظيماتي را انجام دهيد تا كامپيوتر شما بتواند جستجو براي كامپيوترهاي ديگر و گفتگو با آنها را آغاز كند.نحوه پيكربندي تنظيمات مربوط به ويندوز در كامپيوتر شما، توسط اين مسأله تعيين ميشود كه آيا در شبكه شما Internet sharing وجود دارد يا خير. در ادامه بر حسب اين مسأله دستورالعملهاي لازم آورده ميشود:Non-Internet Sharing Windows Settingsدر مورد هر كامپيوتر مراحل زير را طي كنيد:1. بر روي آيكن Network Neighborhood بر روي desktop راست كليك كنيد.2. Properties را انتخاب كنيد.3. بر روي Access Control tab كليك كرده و Share level access را انتخاب كنيد.4. Identification tab را انتخاب كنيد.در اينجا ميتوانيد نامي را براي كامپيوتر خود انتخاب كنيد.5. Configuration tab را انتخاب كنيد. از Primary Network Logon، Client for Microsoft Networks را انتخاب كنيد.6. سپس يك آدرس IP را به كامپيوتر اختصاص دهيد، مثلاً 192.168.O.X. X در هر كامپيوتر منحصر به فرد است و عددي بين 1 تا 254 ميباشد. در اين قسمت عدد Subnet mask را، 255.255.255.0 بنويسيد.Internet Sharing Windows Settingدر مورد هر كامپيوتر مراحل زير را اجرا كنيد:- در Control Panel، بر روي آيكن Add/Remove Program دو بار كليك كنيد. بر روي Windows setup tab كليك كنيد.- پس از گذشت چند لحظه از ليست اجزاء، Internet tools را انتخاب كنيد.- سپس Internet Connection Sharing را انتخاب كنيد.- در اينجا CD مربوط به ويندوز مورد نياز است. آنگاه Internet Connection Sharing Wizard اجرا ميگردد كه پس از پايان آن، كامپيوتر را Restart نماييد.- ميتوانيد از فلاپي ديسكي كه در طي مراحل Wizard ايجاد ميكنيد، در مورد كامپيوترهاي ديگر شبكه استفاده كنيد (در منوي Run در هر يك از آنها و پس از گذاشتن فلاپي در كامپيوتر اينگونه تايپ كنيد: a:\icsclset.exe و سپس Enter را فشار دهيد)لازم به ذكر است در صورتيكه بخواهيد شبكه خود را از طريق يك Proxy Server به اينترنت متصل كنيد ميبايست آن را خريداري كرده و تنظيمات مربوطه را انجام دهيد. فراهم كننده خدمات اينترنت (ISP) شما بايد در مورد استفاده از dynamic IP و يا static IP شما را آگاه سازد. در صورت استفاده از static IP، ISP بايد در اختصاص IP به شما كمك كند.
در ارتباطاتinfrared (مادون قرمز) از فركانسهاي بالا دقيقا زير طيف نور مرئي- استفاده ميشود. در اين روش سيگنالها نميتوانند از اشياء و ديوارها عبور كنند. اين امر بكارگيري تكنولوژي مادون قرمز را محدود ميسازد. در فناوري مادون قرمز ارسال كننده و دريافت كننده بايد يكديگر را ببينند(در خط ديد يكديگر باشند) همانند يك كنترل كننده راه دور دستگاه تلويزيون. بطور كلي در ارتباطات داخل ساختمان كه فاصله ايستگاهها كم باشد از اين روش استفاده ميشود. در اينجا بجاي سيم يا فيبر نوري كه رسانههاي انتقال هستند، از امواج راديويي يا نور مادون قرمز بعنوان رسانه انتقال استفاده ميشود. امواج راديويي بخاطر برد، پهناي باند و پوشش مكاني بيشتر، از نور مادون قرمز كاربرد بيشتري دارند
سيستمهاي كنترل از راه دور كه در وسايلي چون تلويزيون و استريوها به كار ميروند با انتقال زير قرمز كار ميكنند. زيرقرمز به يك محيط كوچك محدود ميشود (مثلا يك اتاق) و معمولاً نياز دارد فرستنده در جهت گيرنده باشد. سخت افزار زير قرمز در مقايسه با مكانيسمهاي ديگر ارزانتر است و به آنتن نيازي ندارد.
شبكههاي كامپيوتري ميتوانند براي انتقال دادهها از تكنولوژي مادون قرمز استفاده كنند. مثلاً يك اتاق بزرگ ميتواند به يك ارتباط زير قرمز مجهز شود و دسترسي به شبكه براي تمام كامپيوترهاي اطاق امكانپذير شود. كامپيوترها ميتوانند هنگام جابجا شدن در اتاق ارتباط خود را با شبكه حفظ نمايند. شبكههاي مادون قرمز خصوصاً براي كامپيوترهاي قابل حمل مناسباند. زيرا مادون قرمز امكان ارتباط بيسيم را بدون نياز به آنتن فراهم ميكند. بنابراين همهي سختافزار ارتباطي ميتواند در يك كامپيوتر قابل حمل كه از زير قرمز استفاده ميكند، قرار گيرد.
| اسلحه های 1 - اسلحه برای آدم کشی | LXGIWYL |
| اسلحه های 2 - ابزار حرفه ای | KJKSZPJ |
| اسلحه های 3 - ابزار نمیدونم چی چی؟ | UZUMYMW |
| سلامتی و ضد گلوله و 250K$ | HESOYAM |
| اضافه کردن دو ستاره برای وقتی که پلیسها میخوان بگیرنت! | OSRBLHH |
| دیگه پلیسها دست از سرت برمیدارن | ASNAEB |
| تیرهات تمومی ندارن، درضمن لازم نیست پرشون کنی! | WANRLTW |
| داشتن اسلحه کامل به هنگام رانندگی | OUIQDMW |
| پرش میلیونی! | LFGMHAL |
| مشروب (منگنه) میلیونی! | IAVENJQ |
| سلامتت تمومی نداره!! | BAGUVIX |
| اکسیژنت پایانی نداره!! | CVWKXAM |
| هیچوقت پلیسها به دنبالت نمیزارن! | AEZAKMI |
| شش تا ستاره واسه اینکه پلیسها بگیرنت! (هر ستاره معرف یک نو نیروی پلیسی هست مثلا اگه ستاره ها زیاد باشه، حتی پلیسهای دریایی و هوایی هم میزارن دنبالت تا ...!) | LJSPQK |
| هیچوقت گرسنه ات نمیشه! | AEDUWNV |
| موقعیت تمام اسلحه هات بصورت Hitman ایی میشه! | NCSGDAG |
| موقعیت Skill انواع رانندگی رو ماگزیمم میکنه! | VQIMAHA |
| هیکلت رو تا آخر میبره! | JYSDSOD |
| لاغر و پوستی و استخوانی | KVGYZQK |
| چاق!! (اگر خواستی که بعد از انجام این کد، لاغر شی، باید بری بدن سازی کنی) | BTCDBCB |
| یه اعانه رو سرت میزاره | BAGOWPG |
| آهنربای زنان هرزه!!! (شرمنده، ترجمه اش همین بود) | BEKKNQV |
| نوع غده ی فشار خونی! | MUNASEF |
| جذبه رو تا آخر میبره. | EHIBXQS |
| احترامش رو تا آخر میبره. | OGXSDAG |
| هر شخص سرباز مانند (9mm) | SJMAHPE |
| هر شخص سرباز مانند (موشک) | ZSOXFSQ |
| خودکشی!!!!!!!!!!!!! | SZCMAWO |
در اين مثال با استفاده از مجموعه Server Variables وابسته به شی Request، نوع مرورگر، سيستم عامل و IP ملاقات كننده سايت تشخيص داده می شود. ( در مثال می توان برخی از مقايسه ها را در صورت ضرورت حذف نمود و برنامه را برای موارد خاص نوشت)
<%
ua = Request.ServerVariables("HTTP_USER_AGENT")
os = Request.ServerVariables("HTTP_UA_OS")
If Instr(ua, "MSIE") Then
If Instr(ua, "MSIE 5.") Then
Browser = "Microsoft Internet Explorer 5.x"
Else
if Instr(ua, "MSIE 4.") Then
Browser = "Microsoft Internet Explorer 4.x"
Elseif Instr(ua, "MSIE 3.") Then
Browser = "Microsoft Internet Explorer 3.x"
If Instr(ua, "MSIE 3.02") Then
Browser = "Microsoft Internet Explorer 3.02"
End If
Else
Browser = "Microsoft Internet Explorer"
End If
ElseIf Instr(ua, "Mozilla") and Instr(ua, "compatible") = 0 Then
If Instr(ua, "Mozilla/4") Then
Browser = "Netscape Navigator 4.x"
Elseif Instr(ua, "Mozilla/3") Then
Browser = "Netscape Navigator 3.x"
Else
Browser = "Netscape Navigator"
End If
End If
If Instr(ua, "Windows 95") or Instr(ua, "Win95") Then
System = "Windows 95"
Elseif Instr(ua, "Windows 98") or Instr(ua, "Win98") Then
System = "Windows 98"
Elseif Instr(ua, "Windows 3.1") or Instr(os, "Win16") Then
System = "Windows 3.x/Windows NT 3.x"
Elseif Instr(ua, "NT") or Instr(ua, "NT") Then
System = "Windows NT"
Elseif Instr(ua, "Mac") Then
System = "Mac"
If Instr(ua, "PowerPC") or Instr(ua, "PPC") Then
System = "Mac PPC"
Elseif Instr(ua, "68000") or Instr(ua, "68K") Then
System = "Mac 68K"
End If
Elseif Instr(ua, "X11") Then
System = "UNIX"
End If
%>
You are using <%=Browser%><br>
You are using : <%=System%> operating system<br>
Your IP is: <%=Request.ServerVariables("Remote_Addr")%>
در فايل Global.asa، می توان اسكريپت هائی را تعريف نمود كه همزمان با بروز يك رويداد ( Event ) فعال شده و يا اقدام به تعريف اشياء Session و Application نمود. امكانات تعريف شده در فايل فوق برای تمامی صفحات تشكيل دهنده يك برنامه ASP قابل دستيابی و استفاده خواهند بود. ضرورت وجود فايل فوق اختياری بوده و در صورت تعريف می بايست در فهرست ريشه ای كه برنامه ASP در آن قرار دارد، استقرار يابد. هر برنامه ASP صرفا می تواند دارای يك فايل Global.asa باشد.
رويدادهای استاندارد در فايل Global.asa
در فايل فوق می توان به اشياء Application و Session گفت كه در زمان آغاز و خاتمه عمليات مربوط به خود چه كارهائی را انجام دهند. در مجموع در فايل فوق چهار نوع رويداد را می توان قرار داد :
• Application_OnStart: رويداد فوق زمانيكه اولين كاربر به اولين صفحه يك برنامه ASP دستيابی پيدا می كند، فعال می گردد.
• Session_OnStart: رويداد فوق هر دفعه كه يك كاربر جديد درخواست اولين صفحه يك برنامه ASP را داشته باشد، فعال می گردد.
• Session_OnEnd: رويداد فوق هر بار كه كاربری به جلسه كاری خود خاتمه می دهد فعال می گردد. در صورتيكه در يك مدت زمان مشخص و محدود ( پيش فرض بيست دقيقه ) در خواست صفحه ای توسط كاربر واصل نگردد، به جلسه كاری وی خاتمه داد می شود.
• Application_OnEnd: رويداد فوق پس از اينكه آخرين كاربر به كار خود خاتمه می دهد، فعال می گردد. معمولا رويداد فوق زمانيكه سرويس دهنده وب متوقف می گردد نيز فعال می گردد.
برای هر يك از رويدادهای فوق می توان روال هائی را نوشت كه مسئول برخورد با رويداد مربوطه باشند. اين روال ها درفايل Global.asa قرار می گيرند. چهارچوب كلی فايل فوق كه متضمن خواسته های چهارگانه فوق باشد می تواند بصورت زير باشد:
<script language="vbscript" runat="server">
sub Application_OnStart
. . .
end sub
sub Application_OnEnd
. . .
end sub
sub Session_OnStart
. . .
end sub
sub Session_OnEnd
. . .
end sub
سال نو را به همه شما عزیزان تبریک می گویم آرزوی سالی با نشاط برای همه شما
این اشکال مربوط میشه به activative نبودن connection تو لینوکس.
برای active کردنش باید برین تو menu/system tools/internet configuration wizard
از لیست سمت چپ نوع اتصالتون رو مشخص کنید. که من modem connection رو انتخاب کردم.
وقتی زدین ممکنه پیام بیاد که مودم شما شناسایی نشده که زیاد مهم نیست.
اگه قبلا این قسمت رو تنظیم کردین نیازی به تغییر نیست وForward رو بزنید.
تو این قسمت مشخصات accountaconteton رو واردکنید و واسه connection تون یه اسم در نظر بگیرید و forward رو بزنید.
این قسمت مربوط به این هست که به شما چه ip اختصاص داده بشه که خودش به طور پیش فرض روauto هست.
forward رو بزنید به قسمت بعد برید.
تو این قسمت مشخصاتی که وارد کردین رو به شما نشون میده و اگه صحیح بود رو بزنید.
حالا باید به طور اتوماتیک پنجره configuration device بیاد و شما باید connectionکه ساختین رو اکتیو کنید.
اگه این پنجره نیومد شما میتونین از menu/system tools/network device controlرو اجرا کنین و از اونجا connection رو active کنید.
Dim ObjConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; DataSource=e:\db\users.mdb")
که قسمت DataSource آدرس فايل پايگاه داده است که در اينجا يک بانک Access است. همانگونه که ملاحظه می کنيد از رشته ارتباطی يا Connection String بعنوان پارامتر استفاده شده است و بوسيله متد Open ارتباط باز می شود:
objConn.Open()
لازم به توضيح است که در پايان کار بوسيله متد Close ارتباط را خاتمه می دهيم.
بمحض ارتباط با پايگاه داده می توان دستورات را به آن فرستاد. اين کار معمولا بوسيله شی OleDbCommand انجام می شود. جهت انجام اين کار می توان يک دستور SQL يا نام يک روال ذخيره شده (Stored Procedure) را مشخص نمود و بنا به مقتضيات می توان اعمال مختلفی را روی پايگاه پياده نمود:
Dim objCommand As New OleDbCommand ( "Select * From users", objConn )
ملاحظه می کنيد که کلاس Command از دو پارامتر رشته SQL و نام رشته ارتباطی برای فرستادن دستورات به پايگاه داده استفاده می کند. برای مثال آنچه را که در عبارت فوق ديديد می توان به بخشهای کوچکتر زير تقسيم کرد.
ابتدا تعريف شي:
Dim objCommand As New OleDbCommand()
سپس نسبت دادن آن به رشته ارتباطی جهت برقراری ارتباط پايگاه:
objCommand.Connection= objConn
مشخص کردن عمليات مورد نظر بوسيله دستورات SQL:
objCommand.CommandText="Select * From Users"
<head>
<title>نمونه مثال براي آشنايي بيشتر</title>
</head>
<body>
<script language="vbscript">
MSGBOX("به سايت بهزاد خوش آمديد ")
</script>
<p align="center"><font face="B Tahoma" size="2">به نحوه ي قرار گيري كدهاي
اسكريپت<span lang="en-us"> ,</span> در بين كدهاي اچ تي ام ال توجه كنيد<br>
<br>
</font>
<a target="_blank" href="http://www.khodkar.com/in.php?id=59">
<img src="http://www.khodkar.com/button.php?id=59" border=0 /></a></p>
</body>
</html>
حذف يک دايرکتوری
برای حذف يک دايرکتوری می توان از متدهای Directory.Delete و يا DirectoryInfo.Delete استفاده نمود. کد زير نحوه انجام اين کار را نشان می دهد :
| حذف يک دايرکتوری |
|
<%@ Language="VB" %> |
توضيحات
در صورتی که قصد حذف يک دايرکتوری را داشته باشيم که موجود نمی باشد ، با يک خطای DirectoryNoFound ، مواجه خواهيم شد. اگر قصد حذف يک دايرکتوری را داشته باشيم که در آن فايل و يا دايرکتوری های ديگری موجود می باشد، با يک خطای IOException مواجه خواهيم شد. برای حل اين مسئله ، می توان از نسخه overload متد Delete استفاده نمود. در چنين مواردی در زمان استفاده از متد Delete ، می بايست در رابطه با حذف و يا عدم حذف فايل ها و يا دايرکتوری های موجود در يک دايرکتوری تعيين تکليف شود. کد زير نحوه انجام اين کار را نشان می دهد :
| حذف يک دايرکتوری با تعيين تکليف در رابطه با فايل ها و دايرکتوری ها موجود در آن |
|
<%@ Language="VB" %> |
حذف يک فايل
برای حذف يک فايل می توان از متدهای File.Delete و يا FileInfo.Delete ، استفاده نمود . کد زير نحوه انجام اين کار را نشان می دهد :
| حذف يک فايل |
|
<%@ Language="VB" %> |
توضيحات
در صورتی که قصد حذف فايلی را داشته باشيم که موجود نمی باشد ، با يک خطاء و يا exception خاصی برخورد نخواهيم کرد، مگر اين که بخشی از آدرس مشخص شده در مسير ( Pathname ) وجود نداشته باشد . در چنين مواردی با خطائی از نوع DirectoryNotFoundException مواجه خواهيم شد .
خصلت ها و صفات فايل ها و دايرکتوری ها
بر روی فايل ها و دايرکتوری ها می توان عمليات مشترک و مشابهی نظير "حذف " را انجام داد . فايل ها و دايرکتوری ها دارای خصايص مشترک و مشابهی نظير تاريخ ايجاد ، نام کامل و يا صفات نيز می باشند . کلاس FileSystemInfo دارای اعضائی است که می توان آنان را در ارتباط با فايل ها و يا دايرکتوری ها بخدمت گرفت . کلاس های DirectoryInfo و FileInfo ازکلاس فوق مشتق شده اند .
خصلت های کلاس FileSystemInfo
| توضيحات | Read / Write | نوع | نام |
|
صفاتی نظير Hidden ، archive و Read-only ، مرتبط با يک فايل را برمی گرداند . |
R / W |
FileAttributes | Attributes |
|
زمان ايجاد فايل و يا دايرکتوری را برمی گرداند |
R / W |
System.DateTime | CreationTime |
|
آخرين زمان مراجعه به فايل و يا دايرکتوری را برمی گرداند |
R / W |
System.DateTime | LastAccessTime |
|
آخرين زمان ويرايش يک فايل و يا دايرکتوری را برمی گرداند |
R / W |
System.DateTime | LastWriteTime |
|
وضعيت موجود بودن يک فايل و يا دايرکتوری را مشخص می نمايد. |
R |
Boolean | Exists |
|
انشعاب فايل و يا دايرکتوری را برمی گرداند ( به همراه نقطه). برای يک دايرکتوری،انشعاب متن موجود پس از آخرين نقطه در نام است . |
R |
String | Extension |
|
نام فايل و يا دايرکتوری را متناسب با نام دايرکتوری مربوطه بر می گرداند . |
R |
String | Name |
|
نام کامل فايل و يا دايرکتوری را برمی گرداند . |
R |
String | FullName |
متدهای کلاس FileSystemInfo
| توضيحات | نام |
|
حذف فايل و يا دايرکتوری |
Delete |
|
بهنگام سازی هر نوع اطلاعات cache شده( نظير تاريخ ايجاد فايل) |
Refresh |
|
وضعيت موجود بودن يک فايل و يا دايرکتوری را مشخص می نمايد. |
Exists |
مثال : ايجاد يک مرورگر فايل و دايرکتوری
برای آشنائی با نحوه استفاده ازصفات و برخی متدها و خصلت های کلاس های DirectoryInfo و FileInfo به بررسی يک مثال کاربردی ( ايجاد يک مرورگر فايل ) ، خواهيم پرداخت . برنامه فوق يک مسير(PathName ) را از ورودی دريافت و تمامی فايل ها و دايرکتوری ها موجود در آن را نمايش خواهد داد .
مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر
| ايجاد يک مرورگر فايل و دايرکتوری |
|
<%@ Import Namespace="System.IO" %> |
مرحله دوم : پس از ذخيره کد فوق در فايلی با نام FileBrowser.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

لايه دوم در معماری دستيابی داده ، مكانيزم های لازم برای كار با ADO.NET ، كنترل های ASP.NET و providers را ارائه می نمايد. از امكانات ارائه شده در اين لايه می توان به منظور انجام مجموعه ای از عمليات و فرآيندهای متداول استفاده نمود . با استفاده از كنترل های متنوع منبع داده و نسبت دهی داده در ASP.NET 2.0 ، حجم كد مورد نياز به منظور حمايت از عمليات در ارتباط با داده كاهش و در مواردی نيز حذف می گردد .
Connection و Commands
ADO.NET از چندين Data Provider متفاوت برای اتصال به بانك های اطلاعاتی ، اجرای دستورات و بازيابی نتايج استفاده می نمايد . در ADO.NET از شی Connection برای اتصال به يك منبع داده خاص استفاده می گردد . مثلا" در صورت استفاده از بانك اطلاعاتی SQL Server 2000 ، می توان از شی SQLConnection به منظور اتصال به بانك اطلاعاتی استفاده نمود . كد زير روش انجام اين كار را نشان می دهد :
|
[Visual Basic] |
پس از اتصال به يك منبع داده ، می توان از شی Command به منظور اجرای دستورات و برگرداندن نتايج مورد نظر استفاده نمود .شی Command از طريق Command constructor كه يك query و يا عبارت SQL را دريافت می نمايد ، ايجاد می گردد . پس از ايجاد شی Command با استفاده از خصلت CommandText می توان عبارات SQL را ويرايش كرد .
|
[Visual Basic] |
شی Command چندين متد Execute را به منظور اجرای Stored Procedure ، query و يا عبارات غير query نظير Update و Insert ، ارائه نموده است :
-
متد ExecuteReader : داده را به عنوان يك شی DataReader برمی گرداند . از متد فوق می توان در ارتباط با هر نوع query كه داده ئی را برمی گرداند ،استفاده نمود .
-
متد ExecuteScalar : متد فوق يك مقدار نظير تعداد ركوردهائی كه با شرايط ذكر شده در يك query خاص مطابقت می نمايند و يا نتايج حاصل از فراخوانی يك تابع بانك اطلاعاتی را برمی گرداند .
-
متد ExecuteNonQuery : متد فوق ، دستوراتی را كه سطرهائی را برنمی گردانند ( نظير Sored procedure ، update و insert ) ، اجراء می نمايد .
در زمان مقداردهی اوليه شی Command می بايست با توجه به شرايط موجود ، متد مورد نظر را انتخاب نمود .
متد ExecuteReader ، نتايج را از طريق يك DataReader برمی گرداند . DataReader يك ساختار داده ئی متصل گراء ، فقط به سمت جلو و فقط خواندنی از داده های حاصل از اجرای يك query را برمی گرداند . پس از اجرای query ، اولين ركورد به DataReader برگردانده می شود . در اين حالت ارتباط با بانك اطلاعاتی همچنان وجود داشته و امكان برگرداندن ركورد بعدی وجود خواهد داشت . در ساختمان داده فوق، صرفا" امكان خواندن ركوردها وجود داشته و نمی توان ركوردهای موجود را ويرايش نمود .
DataAdapters و DataSets
با اين كه DataReader برای برنامه های متصل گرا كافی به نظر می آيد ، ولی اين ساختمان داده قادر به حمايت از مدل غيرمتصل برای دستيابی به بانك های اطلاعاتی نمی باشد . بدين منظور از كلاس های DataAdapter و DataSet ،استفاده می گردد .
DataSet مهمترين ابزار ذخيره سازی داده در معماری غيرمتصل ADO.NET است . DataSet مستقيما" و از طريق يك شی Connection با بانك اطلاعاتی ارتباط برقرار نمی نمايد . برای استقرار داده در يك DataSet می بايست يك DataAdapter ايجاد گردد . مسئوليت DataAdapter ارتباط با بانك اطلاعاتی ، اجرای query و استقرار داده در DataSet می باشد . پس از فراخوانی متد Fill و يا Update توسط DataAdapter ، تمامی عمليات انتقال داده در DataSet به صورت اتوماتيك انجام خواهد شد . هر provider ارائه شده در فريمورك دات نت دارای يك شی DataAdapter است .
DataSet ، مجموعه ای كامل از داده شامل جداول ، محدوديت ها و ارتباط بين جداول را در خود نگهداری می نمايد و می تواند شامل داده های محلی ( داده هائی كه از طريق كد ايجاد شده اند ) و يا داده هائی از چندين منبع داده باشد .
ارتباط با منابع داده موجود توسط DataAdapter كنترل می گردد . DataAdapter همچنين تغييرات ايجاد شده در DataSet را به منبع داده منتقل می نمايد .
كد زير سناريوی استفاده از يك DataSet را نشان می دهد :
|
[Visual Basic] |
در كد فوق :
-
به منظور اتصال به بانك اطلاعاتی SQL Server يك SQLConnection ايجاد شده است .
-
برای اجرای query مورد نظر در ارتباط با جدول Customers يك SQLCommand ايجاد شده است .
-
برای ايجاد SQLCommand يك DataAdapter ايجاد شده است ( ارتباط با بانك اطلاعاتی ) .
-
از طريق DataAdapter يك DataSet ايجاد شده است .DataSet بخش غير متصل عمليات داده بوده و می تواند به مجموعه وسيعی از كنترل های وب ASP.NET 2.0 نسبت داده شود .
در زمان استفاده از يك DataSet می توان آن را به هر نوع كنترل داده نسبت داد . بدين منظور از خصلت DataSource و متد DataBind استفاده می گردد . در صورتی كه داده های موجود در بانك اطلاعاتی تغيير نمايند ، تغييرات به صورت اتوماتيك در DataSet اعمال نمی شود و می بايست مجددا" از متد DataBind استفاده گردد . ( زمان و محل استفاده از متد DataBind از چالش های پياده كنندگان برنامه های وب در ASP.NET 1.x است ) .
در ASP.NET 2.0 تمامی فرآيندهای مربوط به ايجاد يك DataSet ، نسبت دهی داده ، نگهداری و يكسان سازی داده با ارائه مفهوم جديد منابع داده بهبود و تسهيلات ويژه ای در اختيار پياده كنندگان برنامه های وب قرار می گيرد.
ASP.NET 2.0
در ASP.NET 2.0 اغلب عمليات و يا فرآيندهای مورد نياز به منظور ايجاد يك SQLCommand ، توليد يك DataAdapter و استقرار داده در يك DataSet توسط بكارگيری DataSource از ديد پياده كنندگان برنامه های وب مخفی نگه داشته می گردد . در چنين مواردی می توان با استفاده از برنامه كمكی ( ويزارد ) نسبت دهی داده ، عمليات اشاره شده را به صورت اتوماتيك نيز انجام داد . برنامه كمكی Configure DataSource ، كدمورد نياز به منظور اتصال به منابع ذخيره سازی داده ( نظير بانك های اطلاعاتی ، فايل های معمولی ، فايل هار XML ) را توليد و query مورد نظر را ايجاد می نمايد .
با داشتن يك منبع ذخيره سازی داده ، می توان در ادامه منبع داده را به يك كنترل نسبت داد . ارتباط برقرار شده بين منبع داده و كنترل مورد نظر ، Data Binding ناميده می شود . مقادير استخراج شده از منبع داده را می توان به خصلت های مربوط به هر كنترل نسبت و يا از آنان در جداول ، ليست ها و يا grid بدون نياز به نوشتن كد خاصی استفاده نمود .
كنترل های پويا در ASP.NET ( بخش دوم )
در اين بخش به بررسی يك نمونه مثال كاربردی خواهيم پرداخت تا توان خود را جهت ايجاد كنترل های سرويس دهنده به صورت پويا افزايش دهيم .
به دليل استفاده از كنترل <asp:Literal > ، در ابتدا با اين كنترل و جايگاه استفاده از آن آشنا می شويم .
كنترل سرويس دهنده <asp:Literal >
در زمان كدينگ برنامه های وب به مواردی برخورد خواهيم كرد كه لازم است متن و يا تگ های XHTML را به يك PlaceHolder به منظور كمك در مديريت و فرمت كنترل هائی كه به صورت پويا ايجاد شده اند ، اضافه نمائيم . به عنوان نمونه ، ممكن است لازم باشد كه يك پاراگراف ، خطوط خالی و يا كاراكترهای خاصی را به همراه كنترل ها استفاده نمائيم تا آنها با يك فرمت مناسب بر روی صفحه نمايش داده شوند . با توجه به اين كه متن ، رشته و يا تگ های XHTML را نمی توان در PlaceHolder قرار داد ، می بايست آنها را توسط اسكريپت در زمان ايجاد كنترل ها به PlaceHolder اضافه نمود . در چنين مواردی می توان از كنترل <asp:Literal > استفاده نمود .
ايجاد كنترل Literal توسط اسكريپت همانند ساير كنترل های سرويس دهنده در ASP.NET است . بدين منظور كافی است كه كنترل به عنوان يك كنترل Literal تعريف و به خصلت Text آن يك متن و يا رشته مبتنی بر XHTML نسبت داده شود و در ادامه آن را به PlaceHolder اضافه كرد .از كنترل های Literal به تعداد مورد نياز می توان در يك PlaceHolder استفاده نمود .
در كد زير ، يك كنترل Literal تعريف تا در ادامه يك خط خالی در بين ساير كنترل های پويای ايجاد شده ، اضافه نمايد .
|
Dim MyBreak As Literal |
مثال : ايجاد كنترل های سرويس دهنده با استفاده از اسكريپت
در اين مثال قصد داريم متناسب با هر يك از گروه مقالات تعريف شده در بانك اطلاعاتی مقالات ، دكمه هائی را بر روی يك فرم وب قرار دهيم تا كاربران پس از كليك بر روی هر يك از آنها ، مقالات مربوط به گروه انتخابی را مشاهده نمايند .دكمه ها به صورت پويا و در زمان اجراء ايجاد خواهند شد و متناسب با تغيير داده موجود در بانك ، وضعيت آنها نيز تغيير خواهد كرد . شكل زير ، خروجی برنامه را نشان می دهد .

بدين منظور از يك بانك اطلاعاتی اكسس با نام Maghalat_Srco.mdb كه شامل دو جدول Article_Type و Article_Spec است ، استفاده خواهيم كرد . در اولين جدول با نام Article_Type ، گروه های مختلف مقالات ذخيره می گردد .
|
جدول Article_Type | |
|
نام فيلد |
نوع |
|
Group_ID |
AutoNumber ، Primery Key |
|
Name |
Text |
|
Description |
Text |
در جدول دوم با نام Article_Spec ، مشخصات هر يك از مقالات ذخيره می گردد .
|
جدول Article_Spec | |
|
نام فيلد |
نوع |
|
Article_ID |
AutoNumber ، Primery Key |
|
Group_ID |
Number , Integer |
|
Title |
Text |
در ادامه يك فرم وب با نام Show_Article_By_Group.aspx را ايجاد می نمائيم كه در هر يك از بخش های Script و Html آن از امكانات متعددی استفاده شده است .
در بخش Html از سه كنترل سرويس دهنده با اهداف زير استفاده شده است :
-
<asp:PlaceHolder> : تعريف يك ناحيه برای نمايش كنترل هائی كه آنها را به صورت پويا و در زمان اجراء متناسب با داده موجود در بانك اطلاعاتی ايجاد خواهيم كرد . در اين مثال ، برای هر گروه مقاله تعريف شده در بانك اطلاعاتی يك button به صورت پويا ايجاد خواهد شد .
-
<asp:AccessDataSource> : با استفاده از كنترل منبع داده فوق ، به بانك اطلاعاتی Maghalat_Srco.mdb دستيابی و در اولين مرتبه ( زمان استقرار صفحه در حافظه و از طريق روتين page_Load ) ، متناسب با داده موجود در جدول Article_Type ، دكمه های مورد نظر را ايجاد خواهيم كرد . از كنترل فوق در مرتبه دوم و از طريق روتين Get_Articles نيز استفاده خواهد شد تا متناسب با دكمه ای كه كاربر بر روی آن كليك نموده است ، مقالات مربوط به آن گروه از جدول Article_Spec بازيابی و در Gridview نمايش داده شوند .
-
<asp:GridView> : از كنترل فوق به منظور نمايش مقالات مربوط به يك گروه خاص استفاده می گردد ( ساده ترين نوع استفاده از يك GridView ) .
در بخش script از دو روتين Page_Load و Get_Article با اهداف زير استفاده شده است .
-
Page_Load : در اين روتين ، پس از دستيابی به بانك اطلاعاتی اشاره شده ، اطلاعات موجود در جدول Article_Type بازيابی و متناسب با داده موجود ، دكمه هائی برای هر يك از گروه مقالات ايجاد خواهد شد . علاوه بر ايجاد پويای هر button ، سبك نمايش Button و توليد Event handler مورد نياز ( Get_Articles ) نيز از طريق اين روتين انجام خواهد شد .
-
Get_Articles : در اين روتين ، متناسب با اين كه كاربر بر روی كدام button كليك نموده است ، يك query به صورت پويا و پارامتريك ايجاد و اجراء می گردد . در نهايت زمينه نمايش ركوردهای بازيابی شده در Gridview نيز فراهم می گردد .
|
<%@ Import Namespace="System.Data.OleDb" %> |
توضيحات
-
پس از استقرار صفحه در حافظه ، بانك اطلاعاتی فعال و متناسب با داده موجود در جدول Article_Type ، برای هر گروه مقاله يك button ايجاد خواهد شد .
-
برای هر ركورد يك شی جديد Button ايجاد و به خصلت Text آن ، مقدار Name ( مربوط به ركورد بازيابی شده كه نشاندهنده نام گروه مقاله است ) نسبت داده می شود . برای نمايش مطلوب Button ، برخی خصلت های آن مقداردهی می گردند ( نظير نوع فونت و يا اندازه آن ) .
-
با توجه به اين كه دكمه ها به عنوان يك Command button پيكربندی شده اند ، خصلت CommandName معادل Group_ID در نظر گرفته شده و در ادامه مقدار Group_ID به روتين Get_Articles ارسال تا مقالات مربوط به گروه انتخابی را در يك GridView نمايش دهد .
-
يك Command Event توسط اسكريپت برای button مشخص می گردد كه به برنامه فرعی Get_Articles اشاره می نمايد . در نهايت ، button به PlaceHolder اضافه می شود .
-
از طريق حلقه تكرار ، هر يك از دكمه ها ايجاد و به PlaceHolder اضافه می شوند . در اين مثال ، شش button ايجاد خواهد شد چراكه جدول Article_Type حاوی شش ركورد است ( شش نوع گروه برای مقالات تعريف شده است ) و متناسب با كاهش و يا افزايش گروه مقالات تعداد Button بر روی فرم وب تغيير خواهد كرد.
-
بلافاصله پس از هر Button يك زوج فضای خالی به منظور تفكيك افقی دكمه ها از يكديگر قرار می گيرد . بدين منظور از كنترل Literal كه مقدار خصلت Text آن معادل "nbsp; &" در نظر گرفته شده است ، استفاده می گردد . اين كنترل پس از اين كه يك Button در PlaceHolder مستقر گرديد ، در مكان مربوطه درج خواهد شد .
-
همچنين از يك خط خالی پس از نمايش سه button در هر سطر ، استفاده شده است . اين كاراكتر با استفاده از يك كنترل Literal به PlaceHolder اضافه شده است كه مقدار خصلت آن " </br >" در نظر گرفته شده است .
-
از يك شمارنده برای تشخيص اضافه شدن يك Literal به PlaceHolder استفاده شده است تا به كمك آن بتوانيم تشخيص دهيم كه آيا در يك سطر سه Button نمايش داده شده است و يا خير.
در صورتی كه عبارت Counter Mod 3 = 0 درست باشد يك خط خالی به كمك كنترل Literal به PlaceHolder اضافه خواهد شد .
Lan : به شبکه محلی که در آن کامپيوتر ها نزديک به هم بوده و ارتباط آنها از طريق Hub ،Switch و يا Wireless باشد اطلاق می شود.
Intranet و Internet : منظور از اينترانت همان شبکه جهانی اينترنت است که در محيط بسته (Lan) پياده سازی شده و با دنيای خارج از آن ارتباطی ندارد.
Protocol : عبارتست از قراردادی که تعدادی کامپيوتر طبق آن با يکديگر ارتباط برقرار کرده و به تبادل اطلاعات می پردازند.
TCP/IP: يک پروتکل جامع در اينترنت بوده و تمام کامپيوترهايی که با اينترنت کار می کنند از آن تبعيت می کنند.
IP Address : در اينترنت هر کامپيوتر دارای يک آدرس IP است. هر IP متشکل از 4 عدد بوده که با يک نقطه ازهم جدا می شوند. ( مثل 217.219.175.11 ) هر کدام از اين اعداد حداکثر می توانند 254 باشند. هر IP دارای يک Mask می باشد که از روی آن می توان تعداد IP های يک شبکه محلی را تشخيص داد.
Valid IP : به IP هايی گفته می شود که در اينترنت معتبر بوده و قابل شناسايی باشند.
Invalid IP : به IP هايی گفته می شود که در اينترنت فاقد هويت و غير قابل شناسايي می باشند. از اين IP ها معمولا در شبکه های Lan در صورت نداشتن Valid IP به ميزان کافی و يا جهت امنيت شبکه استفاده می شود. از Invalid IP بدليل نداشتن هويت در اينترنت نمی توان برای اتصال به اينترنت استفاده کرد. بلکه بايد از تکنيکهايی مثل NAT يا Proxy استفاده کرد.
Proxy : در مفهوم عاميانه به سانسور کردن سايتها تعبير مي شود. اما از نظر فنی راه حلي است براي اينکه ما بتوانيم از Invalid IP ها برای اتصال به اينترنت استفاده کنيم. در اين روش بايد يک Proxy Server در شبکه نصب شود. در کل اين روش مطلوب نبوده و داراي نقاط ضعف عمده زير است:
نياز است که کاربران تنظيمات خاصی را در کامپيوتر خود انجام دهند.
در اين روش بسياری از پروتکلها پشتيباني نشده و قابل استفاده نيستند.
با اين حال برخی از مراکز اينترنتی نظير دانشگاهها، مؤسسات دولتی و امنيتی و ... برای کنترل بيشتر کاربران خود و گزارشگيري از سايتهای مرور شده توسط هر کاربر از Proxy استفاده می کنند. از جمله نرم افزارهای Proxy Server می توان به Squid، ISA، CacheXpress و . . . اشاره کرد.
NAT : يک تکنيک خوب برای بکارگيری Invalid IP است. در اين روش تقريبا تمام پروتکل ها پشتيبانی می شوند و مهمتر اينکه نياز به تنظيم خاصی بر روی کامپيوتر کاربران نيست. از جمله نرم افزارهايی که کار NAT را انجام می دهند می توان به ISA و Winroute اشاره کرد.
DNS : پروتکل تبديل اسم Domain به IP می باشد. در شبکه به دستگاهی که اين کار را انجام می دهد DNS Server گفته می شود. (62.217.156.205 = www.yahoo.com )
Routing : اگر کامپيوتري بخواهد با يک کامپيوتر ديگر در اينترنت ارتباط برقرار کند، Packet هايش الزاما از چندين Node (کامپيوتر يا Router ) عبور می کند تا به مقصد برسد. به عملی که يک Node بر روی Packet ها و ارسال آنها به Node ديگر برای رسيدن به مقصد انجام می دهد Routing گفته می شود.
Mail Server : در شبکه به سروری گفته می شود که کار دريافت، ارسال و نگهداری Email را انجام ميدهد. از جمله نرم افزارهايی که براي Mail Server مورد استفاده قرار می گيرند می توان به MDaemon و Exchange اشاره کرد.
Web Server : به سروری گفته می شود که صفحات Web بر روی آن قرار گرفته و Page های آن از طريق اينترنت قابل دستيابی است.
FTP Server : به سروری گفته می شود که فايلهای مورد نياز برای Download کردن کاربران بر روی آن قرار گرفته است. و کاربران می توانند فايلهای موجود در FTP Server را Download کنند.
Domain : به نام يک شبکه که منحصر بفرد بوده و در اينترنت Register شده است گفته می شود. مثل persiannetworks.com . يک شبکه می تواند دارای يک يا چند Domain باشد. البته يک شبکه می تواند بدون Domain يا دارای Domain محلی نيز باشد.
Domain Registration : به عمل ثبت Domain گفته می شود. چنانچه شما بخواهيد يک Domain برای خود رجيستر کنيد ابتدا بايد يک نام را که تا کنون در اينترنت استفاده نشده است انتخاب کنيد. سپس توسط شرکتهايی که عمل Domain Registration را انجام مي دهند آنرا بنام خود به مدت زمان معين Register کنيد.
Host : به کامپيوترهای ميزبان که صفحات Web يا فايلهای FTP بر روی آن قرار دارند Host گفته می شود.
PC 2 Phone : به امکان ايجاد ارتباط تلفنی بوسيله اينترنت از طريق يک کامپيوتر با يک تلفن PC2Phone گفته می شود.
Phone 2 Phone : به امکان ايجاد ارتباط تلفنی بوسيله اينترنت از طريق يک تلفن با يک تلفن ديگر Phone2Phone گفته می شود.
ISP : به مراکز سرويس دهی اينترنت ISP گفته می شود. (Internet Service Provider)
ITSP : به مراکز سرويس دهی Phone2Phone گفته می شود. (Internet Telephony Service Provider)
DVB : به کارت سخت افزاری اطلاق می شود که در يکي از Slot های کامپيوتر قرار می گيرد و بوسيله يک کابل به ديش متصل شده و از طريق آن می تواند Receive کند.
Receiver : يک Device است که به ديش وصل شده و عمل دريافت اطلاعات از ديش را انجام می دهد.
Transiver : يک Device است که به ديش وصل شده و عمل ارسال اطلاعات به ديش را انجام می دهد.
Cache Server : در حقيقت Proxy Server ای است که بتواند هنگام کارکردن کاربران، سايتهای بازديد شده توسط آنها را در خود نگهداري کرده و در صورتی که کاربر ديگری بخواهد همان سايتها را بازديد نمايد با سرعت بيشتر و صرفه جويی در پهنای باند پاسخ خود را از طريق Cache Server دريافت کند. وجود Cache Server در شبکه می تواند تا 50 درصد در اندازه پهنای باند صرفه جويي کند و راندمان شبکه را بالا ببرد. (در شرايط بهينه اين ميزان تا 60 درصد هم افزايش می يابد.) Cache Server هم می تواند سخت افزاری باشد (مثل Cache Force) و هم مي تواند نرم افزاری باشد.(مثل: 1- Squid که تحت Linux و Windows قابل نصب است. 2- ISA که تحت Win2000 قابل نصب است. 3- CacheXpress که تحت Linux و اکثر Windowsها قابل نصب است.)
Accounting/Billing : به نرم افزارهای مديريت کاربران در يک ISP گفته می شود. اين نرم افزارها کنترل ميزان استفاده کاربران از شبکه اينترنت را برعهده دارند. پر استفاده ترين نرم افزار در اين زمينه، NTTacPlus است.
Firewall : هم بصورت سخت افزاری و هم بصورت نرم افزاری وجود دارد و وظيفه آن بالا بردن ضريب امنيتی شبکه به منظور جلوگيری از Hack شدن و سوء استفاده توسط افراد سودجو می باشد.
Filtering : هم بصورت سخت افزاری و هم بصورت نرم افزاری وجود دارد و وظيفه آن جلوگيري از ورود کاربران به سايتهای غير مجاز می باشد.
MultiPort : دستگاهی است که معمولا در ISPها مورد استفاده قرار مي گيرد. داراي يک کارت PCI بوده و بر روی Mainboard يک کامپيوتر نصب می شود. با نصب MultiPort می توان Comport های يک کامپيوتر را افزايش داد و تعداد زيادی Modem به يک کامپيوتر متصل کرد.
RAS : به کامپيوتری گفته می شود که تعداد زيادی Modem به آن متصل بوده و کاربران می توانند به آن Connect کرده و از اينترنت استفاده کنند.
Access Server : به دستگاههايی گفته مي شود که کاربران اينترتنی قادر باشند به آن Connect کرده و از طريق آن به اينترنت دسترسی پيدا کنند.
VOIP Gateway : به دستگاههايی گفته می شود که کاربران تلفنی قادر باشند به آن Connect کرده و از طريق آن با کشورهاي مختلف ارتباط تلفنی برقرار کنند.
VOIP Carrier : به تشکيلاتی گفته می شود که با VoIP Gateway از طريق اينترنت در ارتباط بوده و ارتباط های تلفنی بين VoIP Gateway و کشورهای مختلف را برقرار می سازد.
انواع راههاي ارتباط كاربر به ISP:(خط آنالوگ، خط Leased، خط E1 ،Wireless ،ADSL)
هر ISP می تواند براي دستيابی به اينترنت از يک يا چند روش از روشهای زير استفاده کند.
خط آنالوگ، خط Leased، خط E1 ،Wireless ،ADSL ،Receive Only Sattelite ،Send/Rec Sattelite.
انواع دستگاههای ارتباطی كه كاربر را به ISP متصل می كند(برای خطوط آنالوگ و E1 ) عبارتند از:
روترهای Cisco : امروزه استفاده از روترهای Cisco به منظور برقراری ارتباط کاربران با ISP از جمله رايج ترين روشهای موجود است.
Multiports : همانگونه که قبلا گفته شد از Multiport برای افزايش دادن پورتهای Com و اتصال مودمهای External به آنها استفاده مي شود. رايج ترين Multiport محصول شرکت Moxa مي باشد که دارای دو مدل Desktop (روميزی) و Rackmount (قابل نصب در Rack ) می باشد. Multiport ها دارای مدلهای 8پورت، 16 پورت و 32 پورت هستند. از انواع ديگر مولتی پورت می توان به Equinox اشاره کرد.
Moxa Async Server : محصول شرکت Moxa بوده و دارای CPU می باشد و در شبکه مستقيما به Hub وصل می شود. و تعداد زيادي خطوط تلفن به آن وصل می شود و کاربران از طريق آن می توانند به شبکه وصل شوند.
Lucent Max TNT : محصول شرکت Lucent بوده و همانند Router قادر است هم به منظور Access Server برای ISP ها و هم به منظور VoIP Gateway براي ITSP ها مورد استفاده قرار بگيرد. در اين دستگاه کلا امکان نصب 10 Module وجود دارد. برخي از اين Module ها عبارتند از:
modem, ISDN, VoIP, V.110, and PHS MultiDSP module: support for analog
Digital modem module: support for analog modem and ISDN users
Analog modem module
Channelized T1/E1
Ethernet module
ضمنا اين دستگاه داراي چهار Ethernet با سرعت 10MB/s و يک Ethernet با سرعت 100MB/s می باشد. اين دستگاه توانايی پشتيبانی از انواع خطوط مخابراتی را دارد. هر ماديول MultiDSP توانايی پشتيبانی از 96 پورت Dialup را دارد. بنابراين اگر 10 ماديول MultiDSP را به Max وصل کنيم توانايی پشتيبانی از 960 خط را خواهد داشت!
Lucent Max 3000 : اين دستگاه هم مانند Max TNT محصول Lucent بوده و دارای مشخصات زير است :
داراي 2 WAN براي اتصال خطوط E1 می باشد. 32MB اندازه Ram و 16MB اندازه ظرفيت Flash آن می باشد.
Taicom TopServer : اين دستگاه محصول شرکت Taicom بوده و دارای 30 مودم Internal برای اتصال به خطوط آنالوگ می باشد.
USRobotics Net Server : اين دستگاه هم محصول شرکت USRobotics بوده و از خطوط معمولی و E1 پشتيبانی می کند.
Zyxel ModemPool : محصول Zyxel بوده که حاوی تعداد زيادی مودم است که در يک Box جاسازی شده اند و می توان آنرا به يک کامپيوتر متصل کرده و از آن استفاده نمود. اخيرا يک شرکت ايراني بنام قاصدک نيز يک ModemPool مشابه بنام Ghasedak را توليد کرده است.
Quintum: Tenor : دستگاه تک منظوره ای است که فقط برای VoIP مورد استفاده قرار می گيرد. در انواع متنوع 2، 4 و 8 پورت موجود ميباشد.
ChannelBank : دستگاهی است که از آن برای تبديل خطوط E1 به خطوط تلفن معمولی و بالعکس استفاده می شود.
سيستم پيكربندی ASP.NET 2.0
پياده كنندگان برنامه های وب كه از فن آوری ASP كلاسيك به منظور پياده سازی برنامه های وب در گذشته ای نه چندان دور استفاده می كردند ( و شايد هم اينك نيز استفاده می نمايند ) ، به ياد دارند كه اطلاعات پيكربندی برنامه های فوق به صورت باينری و در محلی با نام متابيس IIS ، ذخيره می گردد . پياده كنندگان برنامه های وب برای اعمال تغييرات لازم در متابيس از دو گزينه متداول استفاده می كردند : نوشتن اسكريپت های مورد نياز و يا استفاده از كنسول مديريتی برنامه IIS ( سرويس دهنده وب مايكروسافت ) .
برخلاف ASP كلاسيك ، در ASP.NET 1.x حضور متابيس ها كم رنگ گرديد و در مقابل ، استفاده از يك سيستم پيكربندی مبتنی بر xml مورد توجه قرار گرفت . عليرغم اين كه سيستم فوق دارای انعطاف بمراتب بيشتری نسبت به نسخه قبلی است ولی امكانات مديريتی مناسبی را به منظور ويرايش فايل های پيكربندی در اختيار پياده كنندگان برنامه های وب قرار نمی دهد . تنها گزينه موجود برای ويرايش يك فايل پيكربندی ، برخورد با فايل پيكربندی به عنوان يك فايل xml و بهنگام سازی آن فايل بر اساس ماهيت فايل های xml است . مهمترين مشكل رويكرد فوق ، برخورد با تمامی بخش های فايل پيكربندی به عنوان گره های xml است .
در ASP.NET 2.0 ، امكانات و پتانسيل های متعددی به منظور مديريت پيكربندی برنامه های وب ارائه شده است با اين هدف كه بتوان با سادگی و سرعت بيشتری پيكربندی يك برنامه وب را انجام داد .خواندن و ويرايش فايل های پيكربندی در يك ماشين محلی و يا از راه دور از جمله مهمترين ويژگی های ارائه شده در ASP.NET 2.0 می باشد .
اطلاعات پيكربندی يك برنامه ASP.NET در دو فايل مهم Xml ذخيره می گردد . از Xml برای تشريح خصلت ها و رفتار جنبه های مختلف برنامه های ASP.NET استفاده میشود . سيستم پيكربندی ASP.NET از دو فايل پيكربندی استفاده می نمايد :
-
machine.config : فايل پيكربندی سرويس دهنده
-
Web.Config : فايل پيكربندی برنامه
با توجه به ماهيت فايل های پيكربندی ( فايل هائی از نوع xml ) ، عناصری كه مسئوليت تشريح پيكربندی را برعهده دارند نسبت به حروف بزرگ و كوچك حساس می باشند .
| ||||
مجموعه اي از داد ه ها ي موضوع گرا، مجتمع، غيرفرار و وابسته به زمان كه براي پشتيباني از تصميم گيري ها ي مديريتي مورد استفاده قرار مي گيرد.
• نسخه اي از داد ه ها ي چند پايگاه داده، كه به منظور تسهيل پردازش و پرس و جوهاي كاربران طراحي شده است.
• يك انبار داده ،داده ها ي دلخواه را از يك يا چند منبع جمع آوري كرده و آنها را به موضوعاتي با و گروه هاي اطلاعاتي تبديل مي كند، سپس آنها را به همراه اطلاعات زمان و تاريخ براي پشتيباني بهتر از تصميم گير يها ذخيره مي كند، اين سيستمها ، ديدهاي متعددي از اطلاعات براي طيفها ي مختلف كاربران فراهم مي كند، قدرت اين مفهوم در آن است كه به كاربران اجازه تحليلها و پرس و جوهاي گوناگون بر روي داد ه ها يي مي دهد كه قبل از آن هيچ ارتباطي با هم نداشتند.
• جمع آوري ، پاكسازي انتقال داده از سيستمهاي عملياتي متعدد و آماده كردن اطلاعات حاصل براي تحليل
و گزارش گيري كاربران نهايي ، انبار داري داده ها ٢ ناميده مي شود.
• انبار داده پايگاه داده بزرگي است كه براي پاسخگويي به سوالات، ايجاد شده است.متناسب با انبار ، سوالات مذكور هم با هم فرق مي كنند.انبار مي تواند در اندازه ها ي بزرگ (در حدود گيگابايت) يا كوچكتر باشد.كاربران انبار ممكن است كاركنان داخلي ، افراد ناشناس شبكه ها و يا هر دو باشند.
• انبار داده يك پايگاه داده موضوع گرا است كه به منظور دسترسي ها ي گسترده طراحي شده است. و ابزارهايي براي برآوردن نيازهاي اطلاعاتي مديران در همه سطوح سازمان آماده مي كند ، به بيان ديگر يك
انبار داده به صورتي طراحي مي شود كه كاربران اطلاعات مورد نياز خود را شناسايي كنند و بتوانند با استفاده از ابزارهاي ساده اي به آن ها دسترسي داشته باشند.
• يك انبار داده مخزني از اطلاعات مجتمع شده است كه براي انجام پرس و جو و تحليلها آماده مي شود.
چهار خصوصيت اصلي انبار داده
چهار خصوصيت اصلي انبار داده عبارتند از :
• موضو ع گر ا: هر انبار داده داده هاي مرتبط با يک موضوع خاص را در خود نگاه مي دارد و اين داده ها را به منظور استخراج مفاهيم و نتايج خاصي به شكلي ويژه سازماندهي مي کند. بدين ترتيب سرعت جستجوها بسيار بالا خواهد بود. انبار داده براي پاسخگويي به پرسشهاي مختلف در مورد يک موضوع خاص بهينه سازي مي شود.
• مجتمع : در سيستمهاي مختلف داده ها ممکن است از جنبه هاي مختلفي با هم نامتناسب باشند. مثلا منابع داده در کشورهاي مختلف با زمان و تاريخهاي مختلف ذخيره شد هاند. و يا منابعي که از ماشين هاي مختلف هستند در اعداد، حروف و ديگر فيلدها متناسب با محدوديتهاي ماشين، سيستم عامل و تطابق با استانداردهاي مختلف متفاوت هستند. با توجه به مختلف بودن منابع انبا رداده، قبل از ذخيره سازي آ نها در انبار داده براي تأمين يکپارچگي تکنيکهاي پاکسازي داد هها ٣ و مجتمع سازي به کار ميرود. با توجه به اين موضوع که داد ه ها زير نظر مديريت واحدي ذخيره سازي مي شوند، داد ه هاي سازگاري خواهيم داشت که داشتن
چنين سازگاري در ساير سيستم ها مثل سيستمهاي شبکه اي و توزيعي ناممکن است.
• متغير با زمان: داد ه ها در انبا رداده براي تهيه اطلاعات تاريخي به کار مي روند.
هر ساختار کليدي در انبار داده شامل عنصر زمان يا همان مهر زماني است اين مهر زماني به عنوان کليدي به ساير جداول عمل مي کند. در سيستم انبار داده داده ها هرگز به روز درآوري نميشوند. بلكه داد ه هاي جديد و يا تغيير يافته با مهرهاي زماني جديد به انبار اضافهمي شوند.
• غير فرار: داد ه هاي انبا رداده هميشه از لحاظ فيزيكي مجزا هستند ، و هيچگاه نيازي به تغيير و به روز
درآوري نخواهند داشت. با توجه به اين موضوع، انبار داده مثل پايگاه داد ه هاي معمولي احتياجي به پردازش تراکنش، بازگرداندن فرايند و مکانيزم کنترل تصادم ندارد. علاوه بر اين نيازي به ايجاد و دسترسي انحصاري به داد ه ها نخواهيم داشت. فقط به دو فعاليت کليدي احتياج داريم :
· بارکردن داد ه ها
· دسترسيبه داده ها

