3. پیوستها
3.1. ساخت یک پروژه وب با Visual Studio.net بر روی XP برای خانوادهها
Visual Studio.net به شما امکان میدهد انواع مختلفی از پروژهها را بسازید:

برای ساخت یک پروژهٔ برنامهٔ وب، معمولاً نوع پروژهٔ [Application Web ASP.NET] را انتخاب میکنید. این نوع پروژه به یک سرور وب محلی یا راه دور IIS نیاز دارد. اگر روی یک سیستم عامل ویندوز XP کار میکنید، این سرور وجود ندارد و نمیتوان آن را نصب کرد. بنابراین امکان ایجاد یک پروژه [Application Web ASP.NET] وجود ندارد.
میتوانید با پذیرفتن چند ناراحتی جزئی این مشکل را دور بزنید. به سادگی:
- از سرور وب Cassini به جای سرور IIS استفاده کنید. این سرور به صورت رایگان در وبسایت مایکروسافت در دسترس است.
- به جای پروژه [Application Web ASP.NET] از پروژه [Bibliothèque de classes] استفاده کنید
بیایید یک پروژه ساده بسازیم تا نشان دهیم چگونه این کار را انجام دهیم.
- یک پروژه [Bibliothèque de classes] ایجاد کنید
![]() | ![]() |
- حذف [Class1.vb]

- یک عنصر جدید از نوع [Fichier texte] به پروژه اضافه کنید و آن را [demo.aspx] نامگذاری کنید:
![]() | ![]() |
- فایل [demo.aspx] بهعنوان یک صفحه وب شناخته میشود و یک ویرایشگر صفحه با آن مرتبط است. این ویرایشگر دو پنل دارد:
- [design] برای ساخت صفحه بهصورت گرافیکی
- [HTML] برای دسترسی به کد صفحه HTML

- [Affichage/Code] را برای نمایش بخش کد VB صفحه انتخاب کنید. هیچ اتفاقی نمیافتد. ما نمیتوانیم به کد VB صفحه دسترسی پیدا کنیم.
- به پنل [HTML] بروید و کدی را وارد کنید که صفحه [demo.aspx] را به کد [demo.aspx.vb] پیوند میدهد:

- با استفاده از [Affichage code - F7] کد بررسی مرتبط با صفحه را درخواست کنید. این کد فایل [demo.aspx.vb] را بازمیگرداند:

- صفحه [demo.aspx] اکنون بهعنوان یک صفحه وب [.aspx] با کد مرتبط [.aspx.vb] شناخته میشود.
- بیایید به پنل [Design] از [demo.aspx] بازگردیم و صفحه زیر را رسم کنیم:

این صفحه شامل متن و یک کامپوننت سرور از نوع [Label] با شناسه [lblHeure] است.
- بیایید به پنل [HTML] برویم. در آنجا کد زیر را مییابیم:
<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
Démo ASPX, il est
<asp:Label id="lblHeure" runat="server"></asp:Label>
این کد از نظر نحو QZXW2HTML ناقص است. بیایید آن را تکمیل کنیم:
<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
<html>
<head>
<title>démo ASPX</title></head>
<body>
Démo ASPX, il est
<asp:Label id="lblHeure" runat="server"></asp:Label>
</body>
</html>
- بیایید به کد [demo.aspx.vb] برویم تا کد کنترلی را بنویسیم که زمان را در کامپوننت [lblHeure] تنظیم میکند. میبینیم که این توسط IntelliSense، ابزار تکمیل کد، شناسایی نمیشود.
- پنجرههای [demo.aspx] و [demo.aspx.vb] را ببندید، ابتدا آنها را ذخیره کنید، سپس دوباره بازشان کنید. به کد در [demo.aspx.vb] بروید. این بار، کامپوننت [lblHeure] از [demo.aspx] در کد [demo.aspx.vb] بهدرستی توسط IntelliSense شناسایی میشود. کد را تکمیل کنید:

- پروژه را با استفاده از [Générer/Générer demo] تولید کنید. اگر تولید با موفقیت انجام شود، DLL سپس در پوشه [bin] پروژه تولید میشود:

- اکنون برای تست آمادهایم. سرور Cassini را (به پاراگراف بعدی مراجعه کنید) به شرح زیر پیکربندی میکنیم:

هدف میانبر به Cassini به شرح زیر تنظیم شده است:
"E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /path:"D:\temp\07-04-05\demo" /vpath:"/demo"
مسیر فایل اجرایی | |
مسیر پوشه پروژه وب ویژوال استودیو | |
مسیر مجازی مرتبط |
- Cassini را راهاندازی کنید. آیکون آن در نوار وظیفه ظاهر میشود. روی آن کلیک راست کرده و گزینه [Show details] را برای بررسی اینکه وبسرور به درستی پیکربندی شده است، انتخاب کنید:

- با استفاده از یک مرورگر وب، با وارد کردن URL [http://localhost/demo/demo.aspx] صفحه را که ایجاد کردهایم درخواست کنید. نتیجه زیر را به دست میآوریم:

ما با موفقیت یک برنامه وب را در ویژوال استودیو با استفاده از: ایجاد کردهایم.
- یک پروژه [bibliothèque de classes]
- سرور وب Cassini
اکنون میدانیم چگونه برنامههای وب را روی ماشینهایی که سرور IIS روی آنها نصب نشده است، مانند ماشینهای ویندوزی که نسخه خانگی XP را اجرا میکنند، بسازیم.
3.2. کجا میتوانم وبسرور Cassini ( ) را پیدا کنم؟
برای کار با پلتفرم .NET مایکروسافت، میتوانید از سرور وب Cassini استفاده کنید. این از طریق محصولی به نام [WebMatrix] در دسترس است که یک محیط توسعه وب رایگان برای پلتفرمهای .NET است و در URL موجود است:

ما با دقت مراحل نصب محصول را دنبال خواهیم کرد:
- پلتفرم .NET (نسخه ۱.۱، مارس ۲۰۰۴) را دانلود و نصب کنید
- دانلود و نصب WebMatrix
- MSDE (موتور داده مایکروسافت) را دانلود و نصب کنید، که نسخهای محدود از SQL Server است.
پس از اتمام نصب، محصول [WebMatrix] در فهرست برنامههای نصبشده در دسترس خواهد بود:

لینک [ASP.NET] Web Matrix نسخهٔ توسعهٔ IDE از ASP.NET را راهاندازی میکند:

لینک [Class Browser] یک ابزار کاوشگر کلاس را راهاندازی میکند. NET:

برای آزمایش نصب، بیایید [WebMatrix] را اجرا کنیم:
![]() |
در اولین اجرا، [WebMatrix] برای تنظیمات projet.C جدید، پیامی نمایش میدهد؛ این پیکربندی پیشفرض آن است. میتوان آن را طوری پیکربندی کرد که این کادر محاورهای در هنگام اجرا ظاهر نشود. این کار با استفاده از گزینه [File/New File] انجام میشود. [WebMatrix] به شما امکان میدهد تا برای برنامههای وب مختلف قالب بسازید. در بالا، ما در (۱) مشخص کردیم که میخواهیم یک برنامه [ASP.ET Page] بسازیم که یک صفحه وب است. در (۲)، پوشهای را که این صفحه وب در آن قرار خواهد گرفت، مشخص میکنیم. در (۳)، نام صفحه را مشخص میکنیم. این نام باید دارای پسوند .aspx باشد. در نهایت، در (۴)، مشخص میکنیم که میخواهیم با زبان VB.NET کار کنیم؛ [WebMatrix] همچنین از زبانهای C# و J# نیز پشتیبانی میکند. پس از انجام این کار، [WebMatrix] یک صفحه ویرایش برای فایل [demo1.aspx] نمایش میدهد. ما در آنجا کد زیر را وارد میکنیم:

- زبانهی [Design] به شما امکان میدهد تا صفحهی وبی را که میخواهید بسازید «طراحی» کنید. این کار به همان شیوهای انجام میشود که IDE برای ساخت برنامههای ویندوز به کار میرود.
- طراحی گرافیکی صفحه وب در [Design]، کد HTML را در برگه [HTML] تولید خواهد کرد
- صفحه وب ممکن است شامل کنترلهایی باشد که رویدادهایی را تولید میکنند که باید به آنها پاسخ دهید، مانند یک دکمه. این رویدادها توسط کد VB.NET که در برگه [Code] قرار میگیرد، مدیریت خواهند شد
- در نهایت، فایل demo1.aspx یک فایل متنی است که کد HTML و کد VB.NET را که از طراحی گرافیکی انجام شده در [Design] به دست آمده، ترکیب میکند، کد مربوط به HTML که بهصورت دستی به [HTML] اضافه شده است، و کد مربوط به VB.NET که در [Code] قرار گرفته است. کل فایل در زبانه [All] موجود است.
- یک توسعهدهنده باتجربه ASP.ET میتواند فایل demo1.aspx را مستقیماً با استفاده از یک ویرایشگر متن و بدون کمک هیچ IDE ایجاد کند.
بیایید گزینه [All] را انتخاب کنیم. میبینیم که [WebMatrix] قبلاً مقداری کد تولید کرده است:
<%@ Page Language="VB" %>
<script runat="server">
' کد صفحه را اینجا وارد کنید
'
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<!-- محتوا را اینجا وارد کنید -->
</form>
</body>
</html>
ما در اینجا تلاش نمیکنیم این کد را توضیح دهیم. آن را به صورت زیر تبدیل خواهیم کرد:
<html>
<head>
<title>Démo asp.net </title>
</head>
<body>
Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>
کد بالا ترکیبی از HTML و VB.NET است. این کد در داخل تگهای <% ... %> قرار گرفته است. برای اجرای این کد، از گزینه [View/Start] استفاده میکنیم. سپس [WebMatrix] سرور وب کاسینی را راهاندازی میکند، اگر قبلاً در حال اجرا نباشد

میتوانید مقادیر پیشفرض پیشنهادی در این کادر محاورهای را بپذیرید و گزینه [Start] را انتخاب کنید. سرور وب اکنون فعال است. سپس [WebMatrix] مرورگر پیشفرض را روی دستگاهی که روی آن اجرا میشود راهاندازی کرده و درخواست URL http://localhost:8080/demo1.aspx را میکند:

امکان استفاده از سرور Cassini خارج از [WebMatrix] وجود دارد. فایل اجرایی سرور در <WebMatrix>\<version>\ قرار دارد.WebServer.exe، که در آن <WebMatrix> مسیر نصب [WebMatrix] و <version> شماره نسخه آن است:

یک پنجره DOS را باز کرده و به پوشه سرور Cassini بروید:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003 11:00 53 248 WebServer.exe
...
بیایید [WebServer.exe] را بدون هیچ پارامتر اجرا کنیم:
یک پنجرهٔ راهنما ظاهر میشود:

برنامه [WebServer]، که با نام سرور وب Cassini نیز شناخته میشود، سه پارامتر را میپذیرد:
- /port: شماره پورت سرویس وب. میتواند هر مقداری باشد. پیشفرض ۸۰ است
- /path: مسیر فیزیکی یک پوشه روی دیسک
- /vpath: پوشهٔ مجازی مرتبط با پوشهٔ فیزیکی قبلی. لطفاً توجه داشته باشید که نحو آن /path=path نیست، بلکه /vpath:path است، برخلاف آنچه در مثال [Example] در پنل راهنمای بالا ذکر شده است.
بیایید فایل [demo1.aspx] را در پوشه زیر قرار دهیم:

بیایید پوشه مجازی [/webmatrix] را با پوشه فیزیکی [d:\data\devel\webmatrix] مرتبط کنیم. وبسرور را میتوان به صورت زیر راهاندازی کرد:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"
سرور Cassini اکنون فعال است و آیکون آن در نوار وظیفه ظاهر میشود. اگر روی آن دوبار کلیک کنید:

تنظیمات راهاندازی سرور نمایش داده میشود. شما همچنین میتوانید وبسرور [Stop] را متوقف یا [Restart] را مجدداً راهاندازی کنید. اگر روی لینک [Root URL] کلیک کنید، ریشه ساختار دایرکتوری وب سرور در یک مرورگر نمایش داده میشود:

بیایید لینک [demos] را دنبال کنیم:

سپس لینک [demo1.aspx]:

بنابراین میتوانیم ببینیم که اگر پوشه فیزیکی P=[d:\data\devel\webmatrix] با پوشه مجازی V=[/webmatrix] مرتبط شده باشد و سرور روی پورت ۱۰۰ در حال اجرا باشد، صفحه وب [demo1.aspx]، که به صورت فیزیکی در [P\demos] قرار دارد، به صورت محلی از طریق URL و [http://localhost:100/V/demos/demo1.aspx] قابل دسترسی خواهد بود.
برای جلوگیری از باز کردن پنجره DOS برای راهاندازی سرور Cassini، میتوانید یک میانبر به فایل اجرایی سرور با ویژگیهای مشابه موارد زیر ایجاد کنید:

"C:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /port:80 /path:"D:\data\serge\work\2004-2005\aspnet\webarticles-010405\version3\web" /vpath:"/webarticles" | |
"C:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812" |
3.3. Spring را از کجا میتوانم پیدا کنم؟
وبسایت اصلی Spring در [http://www.springframework.org/] قرار دارد. این وبسایت مربوط به نسخهٔ جاوا است. نسخهٔ .NET که در حال حاضر در دست توسعه است (آوریل ۲۰۰۵) را میتوانید در آدرس [http://www.springframework.net/] بیابید.

وبسایت دانلود در آدرس [SourceForge] قرار دارد:

پس از دانلود فایل زیپ بالا، آن را از حالت فشرده خارج کنید:

در این سند، ما فقط از محتویات پوشه [bin] استفاده کردهایم:

در یک پروژهٔ ویژوال استودیو که از Spring استفاده میکند، دو کاری هست که همیشه باید انجام دهید:
- فایلهای بالا را در پوشه [bin] پروژه قرار دهید
- یک مرجع به اسمبلی [Spring.Core.dll] به پروژه اضافه کنید
3.4. NUnit را از کجا میتوانم پیدا کنم؟
وبسایت اصلی NuUnit به آدرس [http://www.nunit.org/] است. نسخهای که در آوریل ۲۰۰۵ در دسترس بود، ۲.۲.۰ است:

این نسخه را دانلود و نصب کنید. نصب، پوشهای حاوی نسخه گرافیکی تست ایجاد میکند:
بخش جالب در پوشه [bin] است:


پیکان بالا به ابزار تست گرافیکی اشاره میکند. نصب همچنین موارد جدیدی را به مخزن Assemblyهای Visual Studio اضافه کرده است که اکنون آنها را بررسی خواهیم کرد.
بیایید پروژه ویژوال استودیوی زیر را ایجاد کنیم:

کلاسی که در حال آزمایش است در [Personne.vb] قرار دارد:
Public Class Personne
' fields خصوصی
Private _nom As String
Private _age As Integer
' سازندهٔ پیشفرض
Public Sub New()
End Sub
' ویژگیهای مرتبط با فیلدهای خصوصی
Public Property nom() As String
Get
Return _nom
End Get
Set(ByVal Value As String)
_nom = Value
End Set
End Property
Public Property age() As Integer
Get
Return _age
End Get
Set(ByVal Value As Integer)
_age = Value
End Set
End Property
' رشته هویت
Public Overrides Function tostring() As String
Return String.Format("[{0},{1}]", nom, age)
End Function
' متد init
Public Sub init()
Console.WriteLine("init personne {0}", Me.ToString)
End Sub
' متد بستن
Public Sub close()
Console.WriteLine("destroy personne {0}", Me.ToString)
End Sub
End Class
کلاس تست در [NunitTestPersonne-1.vb] است:
Imports System
Imports NUnit.Framework
<TestFixture()> _
Public Class NunitTestPersonne
' شیء تستشده
Private personne1 As Personne
<SetUp()> _
Public Sub init()
' یک نمونه از Person ایجاد میشود
personne1 = New Personne
' لاگ
Console.WriteLine("setup test")
End Sub
<Test()> _
Public Sub demo()
' لاگ صفحه
Console.WriteLine("début test")
' ابتداییسازی person1
With personne1
.nom = "paul"
.age = 10
End With
' آزمایشها
Assert.AreEqual("paul", personne1.nom)
Assert.AreEqual(10, personne1.age)
' گزارش صفحه
Console.WriteLine("fin test")
End Sub
<TearDown()> _
Public Sub destroy()
' نظارت
Console.WriteLine("teardown test")
End Sub
End Class
چند نکته قابل توجه وجود دارد:
- متدها دارای ویژگیهایی مانند <Setup()>, <TearDown()>, ... هستند
- برای اینکه این ویژگیها شناسایی شوند، باید شرایط زیر برقرار باشد:
- پروژه باید به اسمبلی [nunit.framework.dll] ارجاع دهد
- کلاس تست فضای نام [NUnit.Framework] را وارد میکند
این ارجاع با کلیک راست روی [References] در Solution Explorer اضافه میشود:
![]() | ![]() |

اگر نصب [Nunit] با موفقیت انجام شده باشد، اسمبلی [nunit.framework.dll] باید در لیست ظاهر شود. برای افزودن آن به پروژه، کافی است روی اسمبلی دوبار کلیک کنید:

پس از انجام این کار، کلاس تست [NunitTestPersonne] باید فضای نام [NUnit.Framework] را وارد کند:
سپس باید ویژگیهای کلاس تست [NunitTestPersonne] شناسایی شوند.
- ویژگی <Test()> متدی را که باید آزمایش شود مشخص میکند
- ویژگی <Setup()> متدی را که باید قبل از هر متد تحت آزمایش اجرا شود، مشخص میکند
- ویژگی <TearDown()> متدی را که پس از هر متد تحت آزمایش اجرا میشود، مشخص میکند
- متد Assert.AreEqual برای بررسی برابری دو entités.Il استفاده میشود؛ متدهای بسیاری دیگر از نوع Assert.xx وجود دارند.
- ابزار NUnit به محض اینکه یک متد [Assert] شکست بخورد، اجرای متد مورد آزمایش را متوقف کرده و یک پیام خطا نمایش میدهد. در غیر این صورت، یک پیام موفقیت نمایش میدهد.
بیایید پروژه خود را برای تولید DLL پیکربندی کنیم:

فایل تولیدشده DLL با نام [nunit-demos-1.dll] نامگذاری شده و بهطور پیشفرض در پوشه [bin] پروژه قرار میگیرد. بیایید پروژه خود را بسازیم. در پوشه [bin] خروجی زیر را مشاهده میکنیم:

اکنون بیایید ابزار تست گرافیکی Nunit را اجرا کنیم. به یاد داشته باشید که این ابزار در <Nunit>\bin قرار دارد و [nunit-gui.exe] نامیده میشود. <Nunit> به پوشه نصب [Nunit] اشاره دارد. رابط کاربری زیر ظاهر میشود:

بیایید از گزینه منوی [File/Open] برای بارگذاری فایلهای DLL و [nunit-demos-1.dll] پروژه خود استفاده کنیم:

[Nunit] قادر است کلاسهای تست موجود در DLL بارگذاریشده را بهطور خودکار شناسایی کند. در اینجا، کلاس [NunitTestPersonne] را پیدا میکند. سپس تمام متدهای کلاسی را که ویژگی <Test()> را دارند، نمایش میدهد. دکمه [Run] به شما امکان میدهد تستها را روی شیء انتخابشده اجرا کنید. اگر این کلاس [NunitTestPersonne] باشد، تمام متدهای نمایشدادهشده تست میشوند. شما میتوانید با انتخاب یک متد خاص و درخواست اجرای آن از طریق [Run]، درخواست تست آن را بدهید. بیایید اجرای کلاس را درخواست کنیم:

یک تست موفق برای یک متد با یک نقطه سبز در کنار متد در پنجره سمت چپ نشان داده میشود. یک تست ناموفق با یک نقطه قرمز نشان داده میشود.
پنجره [Console.Out] در سمت راست، نمایشهای صفحهای را که توسط متدهای در حال آزمایش تولید شدهاند، نشان میدهد. در اینجا، ما میخواستیم پیشرفت یک تست را دنبال کنیم:
- خط ۱ نشان میدهد که متد ویژگی <Setup()> قبل از آزمون اجرا میشود
- خطوط ۲–۳ توسط متد مورد آزمایش [demo] تولید میشوند (به کد بالا مراجعه کنید)
- خط ۴ نشان میدهد که متد ویژگی <TearDown()> پس از آزمون اجرا میشود
3.5. از کجا میتوانم Firebird نسخهٔ SGBD r را پیدا کنم؟
وبسایت اصلی Firebird، [http://firebird.sourceforge.net/] است. صفحه دانلود پیوندهای زیر را ارائه میدهد (آوریل ۲۰۰۵):

شما باید فایلهای زیر را دانلود کنید:
SGBD برای ویندوز | |
یک کتابخانه کلاسی برای برنامههای NET، که امکان دسترسی به SGBD را بدون استفاده از درایور ODBC فراهم میکند. | |
راننده Firebird ODBC |
این کامپوننتها را نصب کنید. SGBD در پوشهای با محتویات مشابه موارد زیر نصب میشود:

فایلهای باینری در پوشه [bin] قرار دارند:

به شما امکان میدهد SGBD را راهاندازی/متوقف کنید | |
یک کلاینت خط فرمان برای مدیریت پایگاههای داده |
توجه داشته باشید که بهطور پیشفرض، مدیر برای SGBD با نام [SYSDBA] و رمز عبور او [masterkey] است. منوها در [Démarrer] نصب شدهاند:

گزینه [Firebird Guardian] به شما امکان میدهد SGBD را راهاندازی یا متوقف کنید. پس از راهاندازی، آیکون SGBD در نوار وظیفه ویندوز باقی میماند:
![]() |
برای ایجاد و مدیریت پایگاههای داده Firebird با استفاده از کلاینت خط فرمان [isql.exe]، باید مستندات همراه محصول را در پوشه [doc] مطالعه کنید. راه سریعتر برای کار با Firebird استفاده از یک کلاینت گرافیکی است. یکی از این کلاینتها IB-Expert است که در پاراگراف بعدی توضیح داده شده است.
3.6. از کجا میتوانم IB- Expert را پیدا کنم؟
وبسایت اصلی Firebird، [http://www.ibexpert.com/] است. صفحه دانلود پیوندهای زیر را ارائه میدهد:

نسخهٔ رایگان [Personal Edition] را انتخاب کنید. پس از دانلود و نصب آن، پوشهای مشابه شکل زیر خواهید داشت:

فایل اجرایی [ibexpert.exe] است. یک میانبر معمولاً در منوی [Démarrer] موجود است:

پس از اجرا، IBExpert پنجره زیر را نمایش میدهد:

بیایید از گزینه [Database/Create Database] برای ایجاد یک پایگاه داده استفاده کنیم:

این میتواند [local] یا [remote] باشد. در این مورد، سرور ما روی همان دستگاهی است که [IBExpert] روی آن قرار دارد. بنابراین ما [local] را انتخاب میکنیم | |
برای انتخاب فایل پایگاه داده، از دکمه نوع [dossier] در منوی کشویی استفاده کنید. فایربرد کل پایگاه داده را در یک فایل واحد ذخیره میکند. این یکی از نقاط قوت آن است. شما میتوانید پایگاه داده را به سادگی با کپی کردن فایل از یک کامپیوتر به کامپیوتر دیگر منتقل کنید. پسوند [.gdb] به طور خودکار اضافه میشود. | |
SYSDBA مدیر پیشفرض توزیعهای فعلی Firebird است. | |
'masterkey' رمز عبور مدیر 'SYSDBA' در توزیعهای فعلی Firebird است. | |
گویش SQL برای استفاده | |
اگر این کادر تیک خورده باشد، IBExpert لینکی به پایگاه داده ایجاد شده پس از ایجاد آن نمایش خواهد داد |
اگر هنگام کلیک روی دکمه ایجاد [OK]، هشدار زیر را دریافت کردید:

این بدان معناست که شما Firebird را راهاندازی نکردهاید. آن را راهاندازی کنید. یک پنجره جدید ظاهر خواهد شد:

[IBExpert] قادر به مدیریت فایلهای مختلف SGBD مشتقشده از Interbase است. نسخهٔ Firebird را که نصب کردهاید انتخاب کنید |
![]()
پس از تأیید این پنجره جدید توسط [Register]، نتیجه زیر به دست میآید:

برای دسترسی به پایگاهدادهٔ ایجادشده، کافی است روی پیوند آن دوبار کلیک کنید. سپس IBExpert ساختار درختیای را نمایش میدهد که دسترسی به ویژگیهای پایگاهداده را فراهم میکند:

بیایید یک جدول ایجاد کنیم. روی [Tables] کلیک راست کرده و گزینه [New Table] را انتخاب کنید. این کار پنجره تعریف ویژگیهای جدول را باز میکند:
![]() |
بیایید با استفاده از فیلد ورودی [1]، جدول را [ARTICLES] نامگذاری کنیم:
![]() |
بیایید از فیلد ورودی [2] برای تعریف یک کلید اصلی [ID] استفاده کنیم:
![]() |
برای تبدیل یک فیلد به کلید اصلی، روی فیلد [PK] (کلید اصلی) دوبار کلیک کنید. بیایید با استفاده از دکمه [3] فیلدها را اضافه کنیم:

تا زمانی که تعریف خود را «کامپایل» نکرده باشیم، جدول ایجاد نخواهد شد. بیایید از دکمه [Compile] در بالا برای نهایی کردن تعریف جدول استفاده کنیم. IBExpert پرسوجوهای SQL را برای ایجاد جدول آماده میکند و درخواست تأیید میکند:

جالب اینجاست که IBExpert پرسوجوهایی را که اجرا کرده است، نمایش میدهد. این امکان را به شما میدهد تا هم زبان SQL و هم گویش SQL را که ممکن است اختصاصی باشد، بیاموزید. دکمه [Commit] برای تأیید تراکنش جاری استفاده میشود، در حالی که [Rollback] آن را لغو میکند. در اینجا، ما آن را با استفاده از [Commit] میپذیریم. پس از انجام این کار، IBExpert جدول ایجاد شده را به ساختار پایگاه داده ما اضافه میکند:

با دوبار کلیک روی جدول، میتوانید به ویژگیهای آن دسترسی پیدا کنید:

پنل [Constraints] به ما امکان میدهد محدودیتهای یکپارچگی جدید را به جدول اضافه کنیم. بیایید آن را باز کنیم:

میتوانیم محدودیت کلید اصلی را که ایجاد کردهایم ببینیم. میتوانیم محدودیتهای بیشتری اضافه کنیم:
- کلیدهای خارجی [Foreign Keys]
- محدودیتهای یکپارچگی فیلد [Checks]
- محدودیتهای یکتایی فیلد [Uniques]
توجه کنید که:
- میدانهای [ID, PRIX, STOCKACTUEL, STOKMINIMUM] باید >0 باشند
- میدان [NOM] باید غیرخالی و یکتا باشد
پنل [Checks] را باز کنید و در ناحیه تعریف محدودیت آن کلیک راست کنید تا یک محدودیت جدید اضافه کنید:

بیایید محدودیتهای لازم را تعریف کنیم:

توجه کنید که محدودیت [NOM<>''] به جای گیومهٔ دوبل از دو گیومهٔ تکی استفاده میکند. بیایید این محدودیتها را با استفاده از دکمهٔ [Compile] در بالا کامپایل کنیم:

بار دیگر، IBExpert با فهرست کردن پرسوجوهای SQL که اجرا کرده است، اطلاعات مفیدی ارائه میدهد. اکنون به پنل [Constraints/Uniques] برویم تا مشخص کنیم که نام باید منحصر به فرد باشد:

بیایید محدودیت را تعریف کنیم:

بیایید آن را کامپایل کنیم. پس از انجام این کار، بیایید پنل [DDL] را برای جدول [ARTICLES] باز کنیم:

این کد تولید جدول SQL را همراه با تمام محدودیتهای آن فراهم میکند. میتوانیم این کد را در یک اسکریپت ذخیره کنیم تا بعداً دوباره اجرا شود:
SET SQL DIALECT 3;
SET NAMES NONE;
CREATE TABLE ARTICLES (
ID INTEGER NOT NULL,
NOM VARCHAR(20) NOT NULL,
PRIX DOUBLE PRECISION NOT NULL,
STOCKACTUEL INTEGER NOT NULL,
STOCKMINIMUM INTEGER NOT NULL
);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_ID check (ID>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_PRIX check (PRIX>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKACTUEL check (STOCKACTUEL>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKMINIMUM check (STOCKMINIMUM>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_NOM check (NOM<>'');
ALTER TABLE ARTICLES ADD CONSTRAINT UNQ_NOM UNIQUE (NOM);
ALTER TABLE ARTICLES ADD CONSTRAINT PK_ARTICLES PRIMARY KEY (ID);
اکنون زمان آن است که جدول [ARTICLES] را با دادهها پر کنیم. برای این کار، بیایید از پنل آن [Data] استفاده کنیم:

دادهها با دوبار کلیک روی فیلدهای ورودی در هر سطر جدول وارد میشوند. یک سطر جدید با استفاده از دکمه [+] اضافه میشود و یک سطر با استفاده از دکمه [-] حذف میشود. این عملیاتها در یک تراکنش انجام میشوند که با استفاده از دکمه [Commit Transaction] نهایی میشود. بدون این commit، دادهها از دست خواهند رفت.
IBExpert به شما امکان میدهد تا پرسوجوهای SQL را با استفاده از گزینههای [Tools/SQL Editor] یا [F12] اجرا کنید. سپس به یک ویرایشگر پرسوجوی پیشرفته SQL دسترسی خواهید داشت که میتوانید با آن پرسوجوها را اجرا کنید. این پرسوجوها ذخیره میشوند و به شما امکان میدهند پرسوجویی را که قبلاً اجرا شده است دوباره بازبینی کنید. در اینجا یک مثال آمده است:

پرسوجوی SQL را با استفاده از دکمه [Execute] در بالا اجرا کنید. نتیجه زیر را دریافت خواهید کرد:

ما نمایشهای خود را در اینجا متوقف میکنیم. ترکیب IBExpert و Firebird برای یادگیری دربارهی پایگاههای داده عالی است.
3.7. نصب و استفاده از یک درایور ODBC برای [Firebird]
3.8. نصب درایور
لینک [firebird-odbc-provider] در صفحه دانلود [Firebird] (بخش ۳.۵) دسترسی به درایور ODBC را فراهم میکند. پس از نصب، این درایور در فهرست درایورهای نصبشده ODBC ظاهر میشود.
3.9. یک منبع ODBC ایجاد کنید
- ابزار [Démarrer -> Paramètres -> Outil de configuration -> Outils d'administration -> Sources de données ODBC] را اجرا کنید:

- پنجره زیر ظاهر میشود:

- بیایید [Add] را بهعنوان منبع داده جدید سیستم (پنل [System DSN]) اضافه کنیم که آن را به پایگاه داده Firebird که در بخش قبلی ایجاد کردیم، متصل خواهیم کرد:

- ابتدا باید درایور ODBC را مشخص کنیم. در بالا، درایور Firebird را انتخاب کرده و سپس به [Terminer] میرویم. سپس جادوگر درایور Firebird ODBC کنترل را به دست میگیرد:

- ما فیلدهای مختلف را پر میکنیم:

نام DSN منبع ODBC – میتواند هر چیزی باشد | |
نام پایگاه داده Firebird BD برای استفاده – برای ارجاع به فایل .gbd مربوطه از [Browse] استفاده کنید | |
نام کاربری برای ورود به پایگاه داده | |
رمز عبور مرتبط با این نام کاربری |
دکمه [Test connection] به شما امکان میدهد اعتبار اطلاعاتی را که وارد کردهاید بررسی کنید. قبل از استفاده از آن، SGBD [Firebird] را اجرا کنید:

- با اجرای [OK] به تعداد دفعات لازم، جادوگر ODBC را تأیید کنید
3.10. منبع ODBC را آزمایش کنید
روشهای مختلفی برای بررسی درستکار بودن یک منبع ODBC وجود دارد. در اینجا از اکسل استفاده خواهیم کرد:

- بیایید از گزینه [Données -> Données externes -> Créer une requête] بالا استفاده کنیم. این کار اولین پنجره جادوگر تعریف منبع داده را باز میکند. پانل [Bases de données] منابع ODBC را که در حال حاضر روی سیستم تعریف شدهاند، فهرست میکند:

- منبع ODBC [odbc-firebird-articles] را که همین حالا ایجاد کردهایم انتخاب کرده و با [OK] به مرحله بعدی بروید:

- این پنجره جداول و ستونهای موجود در منبع ODBC را فهرست میکند. ما کل جدول را انتخاب خواهیم کرد:

- بیایید با [Suivant] به مرحله بعدی برویم:

- این مرحله به ما امکان میدهد دادهها را فیلتر کنیم. در اینجا، ما هیچ فیلتری اعمال نمیکنیم و به مرحله بعدی میرویم:

- این مرحله به ما امکان مرتبسازی دادهها را میدهد. ما این کار را انجام نمیدهیم، پس بیایید به مرحله بعدی برویم:

- مرحله نهایی از ما میپرسد که با دادهها چه کاری میخواهیم انجام دهیم. در اینجا، آن را به اکسل صادر میکنیم:

- در اینجا، اکسل میپرسد که میخواهیم دادههای بازیابیشده را کجا قرار دهیم. ما آن را در کاربرگ فعال، از سلول A1 شروع میکنیم. سپس دادهها وارد کاربرگ اکسل میشوند:

روشهای دیگری نیز برای آزمایش اعتبار یک منبع ODBC وجود دارد. برای مثال، میتوانید از مجموعه رایگان OpenOffice که در URL و [http://www.openoffice.org] در دسترس است، استفاده کنید. در اینجا مثالی با استفاده از یک فایل متنی OpenOffice آورده شده است:
![]() | ![]() |
- یک آیکون در سمت چپ پنجره OpenOffice دسترسی به منابع داده را فراهم میکند. سپس رابط کاربری تغییر کرده و ناحیه مدیریت منابع داده را نمایش میدهد:

- یک منبع داده از پیش تعریف شده وجود دارد: منبع [Bibliography]. کلیک راست روی ناحیه منابع داده به شما امکان میدهد تا با استفاده از گزینه [Gérer les sources de données] یک منبع جدید ایجاد کنید:

- یک جادوگر ([Gestion des sources de données]) به شما امکان میدهد منابع داده ایجاد کنید. با کلیک راست روی ناحیه منابع داده میتوانید با استفاده از گزینه [Nouvelle source de données] یک منبع جدید ایجاد کنید:

هر نامی. در اینجا، ما از نام منبع ODBC استفاده کردهایم | |
OpenOffice میتواند انواع مختلف BD را از طریق JDBC، ODBC یا مستقیماً (MySQL، Dbase و غیره) مدیریت کند. برای مثال ما، باید ODBC را انتخاب کنید | |
دکمه سمت راست فیلد ورودی به ما دسترسی به فهرست منابع ODBC روی دستگاه را میدهد. ما منبع [odbc-firebird-articles] را انتخاب میکنیم |
- سپس به پنل [ODBC] میرویم تا کاربری را که اتصال تحت اعتبارنامههای او برقرار میشود، تعریف کنیم:

مالک منبع ODBC |
- به پنل [Tables] میرویم. از شما رمز عبور خواسته میشود. در اینجا، [masterkey] است:

- رمز [OK] را وارد کنید. سپس فهرست جداول منبع ODBC نمایش داده میشود:

- سپس میتوانید مشخص کنید که کدام جداول در سند [OpenOffice] نمایش داده شوند. در اینجا، جدول [ARTICLES] را انتخاب کرده و [OK] را وارد میکنیم. تعریف منبع داده اکنون کامل شده است. سپس در لیست منابع داده برای سند فعال ظاهر میشود:

- میتوانید جدول [ARTICLES] را با استفاده از ماوس به بالای متن [OpenOffice] بکشید:

3.11. رشته اتصال برای منبع ODBC Firebird
- ویژوال استودیو را اجرا کرده و Server Explorer را باز کنید [Affichage/Explorateur de serveurs]:
![]() |
- روی [Connexion de données] کلیک راست کرده و گزینه [Ajouter une connexion] را انتخاب کنید:

- در پنل [Provider]، مشخص کنید که میخواهید از منبع ODBC (به بالا مراجعه کنید) استفاده کنید، سپس به پنل [Connection] بروید:

منبع ODBC را از منوی کشویی انتخاب کنید. منبعی که به تازگی ایجاد کردهاید باید نمایش داده شود. در صورت لزوم، برای تازه کردن لیست منابع ODBC از [Refresh] استفاده کنید. | |
نام کاربری برای ورود به پایگاه داده | |
رمز عبور مرتبط با این نام کاربری |
در اینجا نیز، دکمهای با برچسب [Test Connection] به شما امکان میدهد اعتبار اطلاعات را بررسی کنید:

- ویزارد را با استفاده از [OK] تأیید کنید. سپس منبع داده در پنجره [Explorateur de serveurs] در ویژوال استودیو ظاهر میشود:

- با دوبار کلیک روی جدول [ARTICLES]، میتوانید به دادههای جدول دسترسی پیدا کنید:

- اگر روی لینک [Firebird Server D:\temp\... ] کلیک راست کرده و گزینه [Propriétés] را انتخاب کنید، میتوانید به ویژگیهای اتصال دسترسی پیدا کنید:

- رشته اتصال [ConnectString] یک ویژگی مهم است که باید به آن توجه داشت، زیرا کد .NET برای برقراری ارتباط با پایگاه داده به آن نیاز دارد. در اینجا، این رشته اتصال است:
Provider=MSDASQL.1;Persist Security Info=False;User ID=SYSDBA;Data Source=demo-odbc-firebird;Extended Properties="DSN=demo-odbc-firebird;Driver=Firebird/InterBase(r) driver;Dbname=D:\temp\07-04-05\firebird\DBARTICLES.GDB;CHARSET=NONE;UID=SYSDBA"
بسیاری از اجزای این رشته اتصال دارای مقادیر پیشفرض هستند. رشته اتصال زیر کافی خواهد بود:
این پایان مرور ما بر درایور ODBC برای [Firebird] است.
3.12. از کجا میتوانم SGBD MSDE را پیدا کنم؟
MSDE نسخهٔ رایگان سرور SGBD SQL مایکروسافت است. این را میتوان در URL [http://www.microsoft.com/sql/msde/downloads/download.asp] یافت:
![]() |
![]() | ![]() |
فایل نصب را دانلود کرده، سپس با دوبار کلیک روی فایل اجرایی دانلود شده، SGBD را نصب کنید. پنجرهای از شما محل نصب را میپرسد. عنوان آن گمراهکننده است. این یک پوشه موقت است که بعداً میتوانید آن را حذف کنید:
![]() | ![]() |
فایل [ReadmeMSDE2000A.htm] را با دقت بخوانید. همانطور که در بالا ذکر شد، نصاب [setup.exe] است. این برنامه از خط فرمان اجرا میشود تا بتوانید پارامترها را به آن بدهید. پارامترهای اصلی به شرح زیر هستند:
توضیحات | |
| یک رمز عبور قوی را برای ورود مدیر با نام کاربری «sa» مشخص میکند. |
| نام نمونه را تعریف میکند. اگر INSTANCENAME مشخص نشود، برنامه نصب یک نمونه پیشفرض نصب میکند. |
پارامترهای دیگری که اغلب برای سفارشیسازی نصب استفاده میشوند عبارتند از:
توضیحات | |
| مشخص میکند که آیا ایننس از اتصالات شبکهای برنامههای در حال اجرا روی رایانههای دیگر پذیرش میکند یا خیر. بهطور پیشفرض، یا اگر DISABLENTWORKPROTOCOL=1 را مشخص کنید، نصاب نمونه را برای رد کردن اتصالات شبکه پیکربندی میکند. برای فعال کردن اتصالات شبکه، DISABLENETWORKPROTOCOLS=0 را مشخص کنید. |
مشخص میکند که ایننس باید در حالت ترکیبی نصب شود، یعنی ایننس از هر دو احراز هویت ویندوز و احراز هویت SQL برای اتصالات پشتیبانی میکند. | |
| پوشهای را مشخص میکند که نصاب در آن پایگاههای داده سیستم، گزارشهای خطا و اسکریپتهای نصب را نصب میکند. مقدار مشخصشده برای chemin_dossier_données باید با یک اسلش معکوس (\) پایان یابد. برای یک نمونه پیشفرض، نصاب MSSQL\ را به مقدار مشخصشده اضافه میکند. برای یک نمونه نامگذاریشده، نصاب عبارت MSSQL$NomInstance\ را به آن اضافه میکند، که در آن NomInstance مقداری است که از طریق پارامتر INSTANCENAME مشخص شده است. نصبکننده سه پوشه را در مکان مشخصشده ایجاد میکند: پوشه Data، پوشه Log و پوشه Script. |
| پوشهای را مشخص میکند که در آن نصبکننده فایلهای اجرایی MSDE 2000 را نصب میکند. مقدار مشخصشده برای chemin_dossier_exécutables باید با یک اسلش معکوس (\) پایان یابد. برای یک نمونهٔ پیشفرض، نصاب MSSQL\Binn را به مقدار مشخصشده اضافه میکند. برای یک نمونه نامگذاریشده، نصاب MSSQL$NomInstance\Binn را اضافه میکند، که در آن NomInstance مقداری است که از طریق پارامتر INSTANCENAME مشخص شده است. |
پس از مطالعهٔ توصیههای نصب بالا، به پوشهای که فایلهای نصب در آن استخراج شدهاند بروید و دستور زیر DOS را وارد کنید (با استفاده از SGBD بدون اتصال شبکه):
- INSTANCENAME="MSDE140405" – این نام نمونه MSDE ما خواهد بود. شما میتوانید چندین نمونه از آن را نصب کنید.
- SECURITYMODE=SQL – سیستم مدیریت پایگاه داده (DBMS) در حالت احراز هویت ترکیبی کار خواهد کرد. این بدان معناست که شما میتوانید به MSDE به دو روش متصل شوید:
- با استفاده از حساب کاربری مدیر ویندوز
- استفاده از یک حساب MSDE – در این صورت به نام کاربری و رمز عبور نیاز خواهد بود. این مد برای استفاده در برنامهای است که به پایگاه دادهای به نام SGBD متصل میشود.
- SAPWD="azerty" – این رمز عبور کاربر مرتبط با SGBD خواهد بود. کاربر [sa] دارای حقوق مدیریتی بر SGBD است.
برای استفاده از SGBD در یک شبکه، دستور زیر صادر میشود:
برنامهٔ نصب مینیمالیستی است و بدون نمایش هیچ پیامی کامل میشود... با این حال، میتوان مشاهده کرد که SGBD از طریق گزینهٔ [Menu Démarrer -> Panneau de configuration -> Ajouter et supprimer des programmes] نصب شده است:
![]()
نصب معمولاً در مسیر C:\Program Files\Microsoft SQL Server\MSSQL$nomInstance انجام میشود:
![]() | ![]() |
در پوشه [LOG] در داخل مسیر نصب، فایل لاگ مرحله نصب SGBD را خواهید یافت. این فایل حاوی یک اطلاعات مهم است: نام نمونه MSDE:
دانستن این نام مهم است زیرا تمام کلاینتهای SGBD به آن نیاز خواهند داشت. اگر این لاگها در دسترس نباشند، میتوانید نام یک سرور MSDE را که [machine_windows\nom_instance_MSDE] است، پیدا کنید. نام ماشین در چندین مکان موجود است. برای مثال:
- روی [poste de travail] روی دسکتاپ کلیک راست کرده، گزینه [propriétés] را انتخاب کنید، سپس پنل [Nom de l'ordinateur]:

هنوز مشخص نیست چگونه سرور MSDE را راهاندازی کنیم. معمولاً باید یک میانبر در [Démarrer/Démarrage] قرار میگرفت.

اگر به ویژگیهای این میانبر نگاه کنید، خواهید دید که هدف به شرح زیر است:
در پوشه [ C:\Program Files\Microsoft SQL Server]، زیرپوشههای زیر وجود دارند:

- MSSQL$MSDE140405 پوشه مربوط به نمونهای به نام MSDE است که ما همین حالا نصب کردهایم.
- MSSQL پوشهٔ نمونهٔ قبلی، MSDE است. از آنجایی که نامی ندارد، ما آن را نمونهٔ پیشفرض مینامیم.
- پوشه [80] یک پوشه مشترک برای نسخههای مختلف MSDE است که نصب شدهاند. هدف [sqlmangr.exe] از میانبر راهانداز یک نمونه از MSDE در پوشه [ 80\Tools\Binn] قرار دارد.
بیایید MSDE را از طریق میانبر [Démarrer -> Programmes -> Démarrage] اجرا کنیم. عملاً هیچ اتفاقی نمیافتد، به جز ظاهر شدن یک آیکون در نوار وضعیت: | بیایید روی این آیکون دوبار کلیک کنیم: ![]() |
سرور MSDE پیشنهادی در اینجا، سرور پیشفرض است [PORTABLE1_TAHE] روی این ماشین. به یاد داشته باشید که سرور MSDE که نصب کردهایم، نام دارد [PORTABLE1_TAHE\MSDE140405]. ما تغییر میدهیم نام سرور را در فیلد مربوطه تغییر میدهیم: ![]() | اگر همه چیز به درستی پیش برود، نمونه [MSDE140405] باید راهاندازی شود: ![]() |
میتوانیم یک بررسی اولیه انجام دهیم. در همان پوشهای که [sqlmangr.exe] در آن قرار دارد، یک کلاینت کنسول به نام [osql.exe] وجود دارد که به شما امکان میدهد به یک سرور MSDE متصل شوید و دستورات SQL را صادر کنید. در حین نصب، رمز عبور [azerty] را برای مدیر [sa] روی سرور MSDE خود تعیین کردیم. با استفاده از کلاینت کنسول، به سرور تازهنصبشده وارد میشویم. اگر دستور [osql -?] را اجرا کنیم، فهرست پارامترهای ممکن نمایش داده میشود:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>osql -?
utilisation : osql
[-U ID de connexion]
[-P mot de passe]
[-S serveur]
[-H nom de l'hôte]
[-E connexion approuvée]
[-d utiliser le nom de la base de données]
[-l limite du temps de connexion]
[-t limite du temps de requête]
[-h en-têtes]
[-s séparateur de colonnes]
[-w largeur de colonne]
[-a taille du paquet]
[-e entrée d'écho]
[-I Activer les identificateurs marqués]
[-L liste des serveurs]
[-c fin de cmd] [-D nom ODBC DSN]
[-q "requête cmdline"]
[-Q "requête cmdline" et quitter]
[-n supprimer la numérotation]
[-m niveau d'erreur]
[-r msgs vers stderr]
[-V severitylevel]
[-i fichier d'entrée]
[-o fichier de sortie]
[-p imprimer les statistiques] [-b abandon du lot d'instruction après erreur]
[-X[1] désactive les commandes [et quitte avec un avertissement]]
[-O utiliser le comportement Old ISQL désactive les éléments suivants]
<EOF> traitement par lot d'instructions
Mise à l'échelle automatique de la largeur de la console
Messages larges
niveau d'erreur par défaut de -1 au lieu de 1
[-? description de la syntaxe]
بیایید سرور [MSDE140405] را همانطور که در بالا توضیح داده شد راهاندازی کنیم، سپس در یک پنجره DOS، از [osql] برای اتصال به سرور [portable1_tahe\msde140405] با هویت [sa, azerty] استفاده کنید:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>OSQL.EXE -U sa -S portable1_tahe\msde140405 -P azerty
1>
پرامپت [1>] نشان میدهد که [osql] در انتظار فرمان است. ما اکنون با موفقیت متصل شدهایم. برای استفاده صحیح از [osql]، باید به مستندات MSDE مراجعه کنید. این مستندات در قالبهای مختلف (PDF، HTML Help و غیره) موجود است. این مستندات بسیار جامع است. بهطور کلی ترجیح داده میشود هنگام کار با پایگاه داده MSDE از یک کلاینت گرافیکی استفاده شود. این موضوع کمی جلوتر پیشنهاد شده است. برای خروج از [osql]، از دستور [exit] استفاده کنید:
اکنون به نحوه ایجاد پایگاههای داده در سرور تازهنصب MSDE میپردازیم. پیش از آن، ابزار [MSDE Manager] را که به شما امکان تغییر حالت احراز هویت سرور MSDE را میدهد، به طور خلاصه معرفی خواهیم کرد. در واقع، اگر چنین سروری را با استفاده از گزینههای نصب پیشفرض نصب کنید، حالت احراز هویت سرور از نوع [authentification windows] خواهد بود. این نوع احراز هویت تنها به کاربرانی اجازه دسترسی میدهد که در سیستم عامل ویندوز (احتمالاً از طریق یک دامنه) وارد شدهاند. برای یک برنامه VB.NET که میخواهد برای استفاده از محتوای یک پایگاه داده به آن متصل شود، این حالت غیرعملی است. وضعیت برای برنامههای جاوا که از طریق یک درایور JDBC به SGBD دسترسی پیدا میکنند، حتی بدتر است. بنابراین احراز هویت ترکیبی ترجیح داده میشود؛ علاوه بر روش احراز هویت قبلی، جفتهای (نام کاربری، رمز عبور) تعریفشده در SGBD را نیز میپذیرد. ابزار [MSDE Manager] به شما امکان انجام این عملیات را میدهد.
3.13. مدیر MSDE را از کجا میتوانم پیدا کنم؟
[MSDE Manager] یک ابزار مدیریتی برای SGBD و MSDE است. این ابزار را میتوان در URL و [http://www.valesoftware.com/] یافت.
میتوانید نسخه رایگان را با دنبال کردن لینک بالا دانلود کنید:


نسخه آزمایشی دارای دوره انقضای کوتاهی است. این مشکلی نیست زیرا ما فقط برای یک کار خاص از آن استفاده خواهیم کرد. ما محصول را دانلود و نصب میکنیم. یک میانبر روی دسکتاپ قرار میگیرد. ما از این میانبر برای اجرای MSDE Manager استفاده میکنیم. پس از پنجرههای اولیه، به این پنجره میرسیم:

- سرور MSDE140405 را راهاندازی کنید
- شما باید به عنوان مدیر به سیستم عامل ویندوز وارد شده باشید
- روی لینک [SQL Server Group] کلیک راست کرده و گزینه [New SQL Server Registration] را انتخاب کنید:


صفحهٔ ویژگیهای زیر ظاهر میشود:
![]() |
portable1_tahe\msde140405 – نام نمونه MSDE که میخواهید به آن متصل شوید | |
احراز هویت ویندوز – این حالت همیشه در دسترس است و به یک مدیر در ماشین ویندوز اجازه میدهد تا به سرور MSDE متصل شود | |
گروه سرور نمایش داده شده را انتخاب کنید: [SQL Server Group] |
پس از کلیک روی [OK]، نمای درختی ویژگیهای سرور MSDE140405 نمایش داده میشود:

میتوانیم ساخت پایگاههای داده را آغاز کنیم. با این حال، این کار را انجام نمیدهیم، زیرا از محصول دیگری استفاده خواهیم کرد که کلونی از محصول IBExpert است که قبلاً بررسی کردهایم. ما به سادگی حالت احراز هویت را برای MSDE تغییر خواهیم داد. روی سرور MSDE140405 که در بالا نشان داده شده است، کلیک راست کرده و گزینه [Design] را انتخاب کنید:

پنجره اطلاعات زیر ظاهر میشود:

پنل [General] اطلاعاتی دربارهٔ سرور MSDE که به آن متصل هستیم ارائه میدهد. صفحهای که ما به آن علاقهمند هستیم [Security] است:

در اینجا باید اطمینان حاصل کنید که حالت احراز هویت برای MSDE واقعاً [SQL Server and Windows] است. این به شما امکان میدهد تا به MSDE به دو روش متصل شوید:
- با استفاده از حساب کاربری مدیر ویندوز – کاری که در اینجا انجام شده است
- با استفاده از یک حساب MSDE – در این صورت به نام کاربری و رمز عبور نیاز خواهد بود. این روشی است که باید در برنامهای که به یک پایگاه داده SGBD متصل میشود، استفاده کرد.
این انتخاب را تأیید کرده و از مدیر MSDE خارج میشویم. دیگر به آن نیازی نداریم. برای ایجاد پایگاههای داده MSDE، از ابزار دیگری استفاده خواهیم کرد: EMS MS SQL Manager.
3.14. کجا میتوانم EMS ، MS و SQL Manager را پیدا کنم؟
EMS MS SQL Manager یک ابزار گرافیکی برای کار با SGBD Microsoft SQL Server و بنابراین QZXW2HTML است.P002053ZQX. این ابزار بسیار شبیه ابزار IB-Expert است که قبلاً توضیح داده شد. از URL [http://sqlmanager.net/] (آوریل ۲۰۰۵) در دسترس است:

این وبسایت ابزارهای مدیریتی برای تعداد زیادی از فایلهای SGBD را فراهم میکند. پیوند [MS SQL Manager] را دنبال کنید:

در بالا، نسخه سبک محصول را انتخاب میکنیم. آن را دانلود و نصب کنید. سپس پوشهای مشابه شکل زیر خواهید داشت:

فایل اجرایی [MsManager.exe] است. یک میانبر معمولاً در منوی [Démarrer] موجود است:

پس از راهاندازی، مدیر MS SQL پنجره زیر را نمایش میدهد:

بیایید با ثبت سرور MSDE که میخواهیم روی آن کار کنیم، با استفاده از گزینه [Database/Register Host] شروع کنیم:
![]() |
توضیحات:
- مرحله ۱ – همانطور که ذکر شد، MSDE از دو حالت احراز هویت پشتیبانی میکند: ویندوز و SQL سرور. در حالت [windows]، از حسابهای کاربری ماشین ویندوز استفاده میشود. در حالت [SQL Server]، از حسابهای SGBD استفاده میشود. [SQL Server] میتواند در حالت [Windows] یا در حالت ترکیبی [Windows, SQL Server] کار کند. حالت احراز هویت [Windows] همیشه در دسترس است. با این حال، حالت احراز هویت ترکیبی همیشه فعال نیست. ما دیدیم که چگونه با استفاده از مدیر MSDE آن را فعال کنیم. در بالا، اتصال با استفاده از یک حساب کاربری مدیر برقرار شد.
- مرحله ۲ – پس از موفقیت در احراز هویت، پایگاههای داده پیشفرض برای MSDE نمایش داده میشوند. در مثال بالا، همه آنها انتخاب شدهاند.
![]() |
نظرات:
- مرحله ۳: میتوان گزینههای مدیریت برای پایگاههای داده انتخابشده را انتخاب کرد. در اینجا، گزینههای پیشفرض حفظ شدهاند.
- مرحله ۴: ما سرور MSDE را با استفاده از دکمه [Register] ثبت میکنیم
سپس سرور MSDE در کاوشگر پایگاه داده ظاهر میشود:

بیایید از گزینه [Database/Create Database] برای ایجاد یک پایگاه داده استفاده کنیم:
![]() |
مرحله ۲:
وقتی این صفحه اطلاعات ظاهر میشود، پایگاه داده [dbarticles] ایجاد شده است. میتوانید این را با استفاده از دکمه [Test Connect] تأیید کنید. در فیلد [Database alias] میتوانید هر چیزی را که میخواهید وارد کنید. در اینجا ما وارد کردهایم:
- نام پایگاه داده
- نام سرور MSDE که روی آن قرار دارد
- کاربر [admarticles] که مالک این پایگاه داده خواهد بود و رمز عبور او [mdparticles]. این کاربر هنوز ایجاد نشده است اما به زودی ایجاد خواهد شد.
مرحله ۳:
- با استفاده از دکمه [Register]، پایگاه داده جدید را با نام [MS SQL Server ] ذخیره میکنیم. پس از ذخیره، پایگاه داده [admarticles] در لیست پایگاههای داده ظاهر میشود. با دوبار کلیک بر روی آن، نمای درختی ویژگیهایش نمایش داده میشود.
![]() | ![]() |
بیایید یک کاربر ورود جدید ایجاد کنیم که مدیر پایگاه داده [admarticles] باشد.
- گزینه [Tools/Login manager] را انتخاب کنید:

- میتوانیم ببینیم که دو حساب کاربری از قبل تعریف شدهاند:
- [BUILTIN\Administrateurs]: این لاگین از احراز هویت ویندوز استفاده میکند. این نمایانگر مدیران ماشین ویندوزی است که سرور روی آن قرار دارد MSDE
- sa: این لاگین از احراز هویت SQL استفاده میکند. به طور پیشفرض، این مدیر سرور MSDE است. لطفاً توجه داشته باشید که، همانطور که در حین نصب SGBD و MSDE پیکربندی شده است، رمز عبور آن [azerty] است.
- روی ناحیه ورود با کلیک راست کلیک کرده و یک ورود جدید اضافه کنید:
![]() |
- یک فرم ورودی ظاهر میشود که در آن جزئیات ورود جدید را تعریف میکنیم:

- نام کاربری: admarticles
- رمز عبور: mdparticles
- پس از کلیک روی دکمه [OK]، مدیر MS پرسوجوهایی را که قصد اجرای آنها را دارد نمایش میدهد:

زبان SQL که در بالا نشان داده شده، Transact-SQL است، زبان SQL در MSDE. ما درخواست میکنیم این کد توسط [OK] اجرا شود.
- ورود جدید به فهرست ورودها اضافه میشود:

- در پنجرهٔ ویژگیها برای پایگاه دادهٔ [dbarticles]، روی [users] کلیک راست کنید تا کاربری با حقوق دسترسی به پایگاه دادهٔ [dbarticles] ایجاد شود:

- سپس پنجره زیر ظاهر میشود:

- در لیست کشویی [Login]، فهرستی از لاگینهای موجود را مشاهده خواهید کرد. لاگین [admarticles] را انتخاب کنید.
- در [Name]، یک نام کاربری وارد کنید. چند کاربر میتوانند به یک نام کاربری واحد مرتبط باشند. بنابراین، در MSDE، برای ایجاد کاربر ابتدا باید یک نام کاربری ایجاد کرد. سپس پنل [User] به شکل زیر ظاهر میشود:

- اکنون به صفحه [Member Of] میرویم که به ما امکان میدهد مجوزهای کاربر خود را تعریف کنیم:

- من کاربر عادی MSDE نیستم و از معنای دقیق هر یک از نقشهای فهرستشده در پنجره سمت چپ مطمئن نیستم. نقش [db_owner] وسوسهانگیز است (owner=owner). بنابراین آن را برای کاربر [admarticles] انتخاب میکنیم:

- ما با استفاده از دکمه [Compile] در بالا، انتخابهایمان را تأیید میکنیم. پرسوجوهای SQL که در زمان اجرا ارائه میشوند، به شرح زیر است:

- ما آنها را با استفاده از [OK] کامپایل میکنیم. اکنون یک کاربر از پایگاه داده [dbarticles] داریم:

- حالا بیایید یک جدول بسازیم. روی [Tables] کلیک راست کرده و گزینه [New Table] را انتخاب کنید. این کار پنجره تعریف ویژگیهای جدول را باز میکند:

- ابتدا با استفاده از فیلد ورودی [Table Name]، جدول را [ARTICLES] نامگذاری کنید. سپس به پنل [Fields] بروید:

- بیایید فیلدهای زیر را تعریف کنیم:

تا زمانی که تعریف خود را «کامپایل» نکرده باشیم، جدول ایجاد نخواهد شد. بیایید از دکمه [Compile] در بالا برای نهایی کردن تعریف جدول استفاده کنیم. [MS SQL Manager] پرسوجوهای تولید جدول (SQL) را آماده میکند و برای تأیید میپرسد:

جالب اینجاست که دکمه [MS SQL Manager] پرسوجوهای SQL را که اجرا کرده است، نمایش میدهد. این به شما کمک میکند تا زبان Transact-SQL را بیاموزید. دکمه [Commit] برای commit کردن تراکنش جاری استفاده میشود، در حالی که [Rollback] برای rollback کردن آن به کار میرود. در اینجا، ما با استفاده از [Commit] آن را تأیید میکنیم. پس از انجام این کار، [MS SQL Manager] جدول ایجاد شده را به ساختار پایگاه داده ما اضافه میکند:

با دوبار کلیک روی جدول، میتوانید به ویژگیهای آن دسترسی پیدا کنید:

پنل [Checks] به ما امکان میدهد محدودیتهای یکپارچگی جدید را به جدول اضافه کنیم. برای جدول [ARTICLES]، محدودیتهای زیر را ایجاد خواهیم کرد:
- میدانهای [ID, PRIX, STOCKACTUEL, STOKMINIMUM] باید ≥ 0 باشند
- میدان [NOM] نباید خالی باشد
در پنل [Checks]، روی ناحیه خالی کلیک راست کرده و محدودیت جدید [New check] را اضافه کنید:

- برگه ویرایش محدودیت به شکل زیر است:

نام: نام قید
جدول: جدولی که قید بر روی آن اعمال میشود
تعریف: عبارت محدودیت
محدودیت با استفاده از دکمه [Compile] در بالا کامپایل میشود.
- بار دیگر، [MS SQL Manager] دستورات SQL را که اجرا شدهاند نمایش میدهد:

- اینها با دکمه [Commit] (نمایش داده نشده) اعتبارسنجی میشوند. اگر به پنل [Checks] جدول [ARTICLES] بازگردید، محدودیت جدید ظاهر میشود:

- ما سایر محدودیتها را به همین ترتیب تعریف میکنیم تا در نهایت به فهرست زیر دست یابیم:

پس از انجام این کار، بیایید پنل [DDL] را در جدول [ARTICLES] باز کنیم:

این کد Transact-SQL را برای ایجاد جدول با تمام محدودیتهای آن فراهم میکند. میتوانیم این کد را در یک اسکریپت ذخیره کنیم تا بعداً قابل اجرا باشد:
CREATE TABLE [ARTICLES] (
[id] int NOT NULL,
[nom] varchar(20) COLLATE French_CI_AS NOT NULL,
[prix] float(53) NOT NULL,
[stockactuel] int NOT NULL,
[stockminimum] int NOT NULL,
CONSTRAINT [ARTICLES_uq] UNIQUE ([nom]),
PRIMARY KEY ([id]),
CONSTRAINT [ARTICLES_ck_id] CHECK ([id] > 0),
CONSTRAINT [ARTICLES_ck_nom] CHECK ([nom] <> ''),
CONSTRAINT [ARTICLES_ck_prix] CHECK ([prix] >= 0),
CONSTRAINT [ARTICLES_ck_stockactuel] CHECK ([stockactuel] >= 0),
CONSTRAINT [ARTICLES_ck_stockminimum] CHECK ([stockminimum] >= 0)
)
ON [PRIMARY]
GO
اکنون زمان آن است که برخی دادهها را در جدول [ARTICLES] وارد کنیم. برای این کار، بیایید از پنل آن [Data] استفاده کنیم:

دکمه [+] به شما امکان میدهد یک سطر اضافه کنید، در حالی که دکمه [-] به شما امکان میدهد یک سطر را حذف کنید. دادهها به سادگی با تایپ در فیلدهای ورودی برای هر سطر جدول وارد میشوند. یک سطر با استفاده از دکمه [Post Edit] در زیر اعتبارسنجی میشود:
![]()
بیایید دو مورد ایجاد کنیم:

[MS SQL Manager] به شما امکان میدهد تا پرسوجوها را با استفاده از گزینه [Tools/Show SQL Editor] یا [F12] اجرا کنید. سپس به ویرایشگر پیشرفته پرسوجوی SQL دسترسی خواهید داشت که میتوانید برای اجرای پرسوجوها از آن استفاده کنید. این پرسوجوها ذخیره میشوند تا بتوانید دوباره به پرسوجویی که قبلاً اجرا کردهاید مراجعه کنید. در اینجا یک مثال آمده است:

پرسوجوی SQL را با استفاده از دکمه [Execute] در بالا اجرا کنید. نتیجه زیر را دریافت خواهید کرد:

ما نمایشهای خود را در اینجا متوقف میکنیم. جفت [MS SQL Manager - MSDE]، مانند جفت [IBExpert - Firebird]، همچنین برای یادگیری در مورد پایگاههای داده عالی است.
3.15. یک منبع ایجاد کنید: ODBC [MSDE]
درایور ODBC برای سرور SQL معمولاً بهصورت پیشفرض روی سیستمعامل ویندوز نصب میشود.
- ابزار [Démarrer -> Paramètres -> Outil de configuration -> Outils d'administration -> Sources de données ODBC] را راهاندازی کنید:

- پنجره زیر ظاهر میشود:

- بیایید [Add] را بهعنوان منبع داده جدید سیستم (پنل [System DSN]) اضافه کنیم که آن را با پایگاه داده MSDE که در بخش قبلی ایجاد کردیم مرتبط خواهیم کرد:

- ابتدا، باید درایور ODBC را که قرار است استفاده شود، مشخص کنیم. در بالا، درایور مربوط به [SQL Server] را انتخاب کرده و سپس به [Terminer] میرویم. سپس جادوگر درایور برای ODBC از [SQL Server] کنترل را به دست میگیرد:

- ما فیلدهای مختلف را پر میکنیم:
نام منبع ODBC – میتواند هر چیزی باشد | |
میتواند هر چیزی باشد | |
نام سرور MSDE حاوی دادههای منبع ODBC |
- ما [Suivant] را برای ارائه اطلاعات جدید ایجاد میکنیم:

- ما فیلدهای مختلف را پر میکنیم:
ما مشخص میکنیم که با استفاده از نام کاربری ثبتشده روی سرور MSDE به منبع داده ODBC متصل خواهیم شد | |
ورود کاربر | |
رمز عبور کاربر |
- توجه داشته باشید که این اولین بار است که از کاربر (admarticles, mdparticles) ایجادشده در بخش قبلی استفاده میکنیم. بار دیگر، [Suivant] را اجرا میکنیم تا صفحه جدید زیر را به دست آوریم:

- ما فیلدهای مختلف را پر میکنیم:
ما پایگاه داده [dbarticles] را به عنوان پایگاه داده پیشفرض برای کاربر [admarticles] انتخاب میکنیم. |
- ما [Suivant] را وارد میکنیم تا صفحه جدید زیر را دریافت کنیم:

- ما مقادیر پیشفرض را میپذیریم و [Terminer] را ایجاد میکنیم. خلاصهای از ویژگیهای منبع ODBC که قرار است ایجاد شود، ارائه شده است:

- دکمه [Tester la source de données] به ما امکان میدهد تا صحت جزئیات خود را بررسی کنیم. بررسی کنید که MSDE راهاندازی شده است، سپس اتصال را آزمایش کنید:

- اکنون میتوانیم مطمئن شویم که جفت [admarticles, mdparticles] شناسایی شده است.
برای آزمایشهای بیشتر، خواننده میتواند رویه توضیحدادهشده در بخش 3.10 را دنبال کند.
3.16. رشته اتصال به پایگاه داده MSDE
- ویژوال استودیو را اجرا کرده و اکتشافگر سرور [Affichage/Explorateur de serveurs] را باز کنید:
![]() |
- روی [Connexion de données] کلیک راست کرده و گزینه [Ajouter une connexion] را انتخاب کنید:

- در پنل [Provider]، مشخص کنید که میخواهید از یک منبع سرور SQL استفاده کنید، سپس به پنل [Connection] بروید. توجه داشته باشید که در اینجا از درایور ODBC استفاده نمیکنید.

نام سرور MSDE که به آن متصل میشویم | |
نام کاربری برای اتصال به پایگاه داده | |
رمز عبور مرتبط با این نام کاربری | |
پایگاه دادهای که میخواهید با آن کار کنید |
یک دکمه با برچسب [Tester la connexion] به شما امکان میدهد تا اعتبار اطلاعات را بررسی کنید:

- ویزارد را با استفاده از [OK] تأیید کنید. به طرز جالبی، یک پنجرهٔ جدید جزئیات اتصال را میپرسد:

- شما دوباره آنها را وارد کرده و [OK] را اجرا میکنید. سپس منبع داده در پنجره [Explorateur de serveurs] در ویژوال استودیو ظاهر میشود:

- با دوبار کلیک روی جدول [ARTICLES]، میتوانید به دادههای جدول دسترسی پیدا کنید:

- اگر روی پیوند [portable1_tahe\msde140405.dbarticles.admarticles] در پنل [Explorateur de serveurs] کلیک راست کرده و گزینه [Propriétés] را انتخاب کنید، میتوانید به ویژگیهای اتصال دسترسی پیدا کنید:

- رشته اتصال [ConnectString] یک ویژگی مهم است که باید به آن توجه داشت، زیرا کد .NET برای برقراری ارتباط با پایگاه داده به آن نیاز دارد. در اینجا، این رشته اتصال است:
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=admarticles;Initial Catalog=dbarticles;Data Source=portable1_tahe\msde140405;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=PORTABLE1_TAHE;Use Encryption for Data=False;Tag with column collation when possible=False
بسیاری از اجزای این رشته اتصال دارای مقادیر پیشفرض هستند. رشته اتصال زیر کافی خواهد بود:






























