3. Додатки
3.1. Створення веб-проєкту за допомогою Visual Studio.net на сімейній платформі XP
Visual Studio.net дозволяє створювати різні типи проектів:

Для створення веб-додатку зазвичай обирають тип [Application Web ASP.NET]. Цей тип проекту вимагає наявності локального або віддаленого веб-сервера IIS. Якщо ви працюєте на комп’ютері з ОС Windows XP, такого сервера немає, і його неможливо встановити. Отже, створити проєкт типу [Application Web ASP.NET] неможливо.
Цю проблему можна обійти, змирившись із деякими незначними незручностями. Достатньо:
- використовувати веб-сервер Cassini замість сервера IIS. Він доступний безкоштовно на сайті Microsoft.
- використовувати проект [Bibliothèque de classes] замість проекту [Application Web ASP.NET]
Створимо простий проєкт, який продемонструє, як це зробити.
- Створити проект [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>
Цей код є неповним з точки зору синтаксису HTML. Доповнимо його:
<%@ 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] правильно розпізнається Intellisense в коді [demo.aspx.vb]. Доповніть код:

- згенеруйте проєкт за допомогою [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"
шлях до виконуваного файлу | |
шлях до папки веб-проекту Visual Studio | |
відповідний віртуальний шлях |
- Запустіть Cassini. Його піктограма з'явиться на панелі завдань. Клацніть на ній правою кнопкою миші та виберіть опцію [Show details], щоб перевірити правильність налаштування веб-сервера:

- У браузері відкрийте сторінку, яку ми створили, ввівши URL [http://localhost/demo/demo.aspx]. Ми отримаємо такий результат:

Нам вдалося створити веб-додаток у Visual Studio, використовуючи:
- проекту типу [bibliothèque de classes]
- веб-сервера Cassini
Тепер ми знаємо, як створювати веб-додатки на комп’ютерах, що не мають сервера IIS, як-от на комп’ютерах із Windows XP, сімейна версія.
3.2. Де знайти веб-сервер Cassini ?
Для роботи з платформою .NET від Microsoft можна використовувати веб-сервер Cassini. Він доступний через продукт під назвою [WebMatrix], який є безкоштовним середовищем веб-розробки на платформах .NET, доступним на URL:

Будемо уважно слідкувати за процедурою встановлення продукту:
- завантажити та встановити платформу .NET (версія 1.1 від березня 2004 року)
- завантажити та встановити WebMatrix
- завантажити та встановити MSDE (Microsoft Data Engine) — обмежену версію SQL Server.
Після завершення встановлення продукт [WebMatrix] буде доступний у списку встановлених програм:

Посилання [ASP.NET] Web Matrix запускає IDE для розробки ASP.NET:

Посилання [Class Browser] запускає інструмент перегляду класів .NET:

Щоб перевірити встановлення, запустимо [WebMatrix]:
![]() |
Під час першого запуску [WebMatrix] запитує параметри нового projet.C — це його конфігурація за замовчуванням. Можна налаштувати програму так, щоб це діалогове вікно не з’являлося під час запуску. Це можна зробити за допомогою опції [File/New File]. [WebMatrix] дозволяє створювати шаблони для різних веб-додатків. Вище ми вказали за допомогою (1), що хочемо створити додаток [ASP.ET Page], який є веб-сторінкою. За допомогою (2) ми вказуємо папку, в якій буде розміщена ця веб-сторінка. У (3) ми вказуємо назву сторінки. Вона повинна мати розширення .aspx. Нарешті, у (4) ми вказуємо, що хочемо працювати з мовою VB.NET, причому [WebMatrix] також підтримує мови C# та J#. Після цього [WebMatrix] відображає сторінку редагування файлу [demo1.aspx]. У ній ми розміщуємо такий код:

- Вкладка [Design] дозволяє «намалювати» веб-сторінку, яку ми хочемо створити. Це відбувається так само, як у IDE для створення додатків Windows.
- Графічне проектування веб-сторінки у [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] запускає веб-сервер Cassini, якщо він ще не запущений

Можна прийняти значення за замовчуванням, запропоновані в цьому діалоговому вікні, та вибрати опцію [Start]. Веб-сервер тепер активний. [WebMatrix] запустить браузер за замовчуванням на комп’ютері, на якому він знаходиться, і запросить URL http://localhost:8080/demo1.aspx:

Сервер Cassini можна використовувати поза межами [WebMatrix]. Виконуваний файл сервера знаходиться в <WebMatrix>\<версія>\WebServer.exe, де <WebMatrix> — це каталог інсталяції [WebMatrix], а <version> — його номер версії:

Відкриємо вікно командного рядка та перейдемо до папки сервера 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: номер порту веб-сервісу. Може бути будь-яким. За замовчуванням — 80
- /path: фізичний шлях до папки на диску
- /vpath: віртуальна папка, пов’язана з попередньою фізичною папкою. Зверніть увагу на те, що синтаксис не /path=шлях, а /vpath:шлях, на відміну від того, що вказано у прикладі [Example] у вікні довідки вище.
Помістимо файл [demo1.aspx] у таку папку:

Прив’яжемо до фізичної папки [d:\data\devel\webmatrix] віртуальну папку [/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], а сервер працює на порту 100, веб-сторінка [demo1.aspx], яка фізично знаходиться в [P\demos], буде доступна локально через URL [http://localhost:100/V/demos/demo1.aspx].
Щоб не доводилося запускати сервер Cassini через вікно DOS, можна створити ярлик до виконуваного файлу сервера з такими властивостями:

"C:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /port:80 /path:"D:\data\serge\travail\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/]. Це сайт версії для Java. Версія .NET, яка наразі перебуває на стадії розробки (квітень 2005 року), розміщена за адресою [http://www.springframework.net/].

Сторінка для завантаження знаходиться за адресою [SourceForge]:

Після завантаження вищезазначеного zip-файлу розпакуйте його:

У цьому документі ми використовували лише вміст папки [bin]:

У проєкті Visual Studio, де використовується Spring, необхідно систематично виконувати дві дії:
- помістити вищезазначені файли в папку [bin] проекту
- додати до проекту посилання на збірку [Spring.Core.dll]
3.4. Де знайти Nunit?
Головний сайт Nunit — [http://www.nunit.org/]. Версія, доступна у квітні 2005 року, — 2.2.0:

Завантажте цю версію та встановіть її. Під час встановлення створюється папка, у якій знаходиться графічна тестова версія:
Найцікавіше знаходиться у папці [bin]:


Стрілка вище вказує на графічну утиліту для тестування. Під час встановлення також були додані нові елементи до репозиторію збірки Visual Studio, які ми зараз розглянемо.
Створимо такий проект у Visual Studio:

Клас, що тестується, знаходиться у файлі [Personne.vb]:
Public Class Personne
' приватні поля
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
' метод close
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()
' створюється екземпляр класу «Personne»
personne1 = New Personne
' журнал
Console.WriteLine("setup test")
End Sub
<Test()> _
Public Sub demo()
' логічний вивід на екран
Console.WriteLine("début test")
' ініціалізація «personne1»
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] у провіднику рішень:
![]() | ![]() |

Збірка [nunit.framework.dll] має бути у запропонованому списку, якщо встановлення [Nunit] пройшло успішно. Достатньо двічі клацнути на збірці, щоб додати її до проєкту:

Після цього тестовий клас [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] праворуч показує екранні виводи, що генеруються тестованими методами. Тут ми вирішили простежити хід тесту:
- у рядку 1 показано, що метод атрибута <Setup()> виконується перед тестом
- рядки 2–3 генеруються тестованим методом [demo] (див. код вище)
- рядок 4 показує, що метод атрибуту <TearDown()> виконується після тесту
3.5. Де знайти SGBD — -версію Firebird?
Головний сайт Firebird — [http://firebird.sourceforge.net/]. На сторінці завантажень наведено такі посилання (квітень 2005 року):

Необхідно завантажити такі файли:
SGBD для Windows | |
бібліотеку класів для додатків .NET, яка дозволяє отримати доступ до SGBD без використання драйвера ODBC. | |
драйвер ODBC для Firebird |
Встановіть ці компоненти. SGBD встановлюється у папку, вміст якої виглядає приблизно так:

Бінарні файли знаходяться у папці [bin]:

дозволяє запускати/зупиняти SGBD | |
лінійний клієнт, що дозволяє керувати базами даних |
Слід зазначити, що за замовчуванням адміністратор SGBD називається [SYSDBA], а його пароль — [masterkey]. У [Démarrer] встановлено такі меню:

Опція [Firebird Guardian] дозволяє запускати/зупиняти SGBD. Після запуску піктограма SGBD залишається на панелі завдань Windows:
![]() |
Для створення та роботи з базами даних 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] у списку, щоб вказати файл бази даних. Firebird зберігає всю базу даних в одному файлі. Це одна з його переваг. Базу даних можна перенести з одного комп’ютера на інший, просто скопіювавши файл. Суфікс [.gdb] додається автоматично. | |
SYSDBA — це адміністратор за замовчуванням у поточних дистрибутивах Firebird | |
masterkey — це пароль адміністратора SYSDBA для поточних дистрибутивів Firebird | |
діалект SQL, який слід використовувати | |
якщо поле відмічено, IBExpert відобразить посилання на створену базу даних після її створення |
Якщо після натискання кнопки створення [OK] з’явиться таке попередження:

це означає, що ви не запустили Firebird. Запустіть його. З’явиться нове вікно:

[IBExpert] здатний обробляти різні SGBD, похідні від Interbase. Виберіть версію Firebird, яку ви встановили |
![]()
Після підтвердження цього нового вікна за допомогою [Register] ми отримуємо такий результат:

Щоб отримати доступ до створеної бази даних, достатньо двічі клацнути на її посилання. IBExpert відобразить дерево, що надає доступ до властивостей бази даних:

Створимо таблицю. Клацніть правою кнопкою миші на [Tables] і виберіть опцію [New Table]. З’явиться вікно налаштування властивостей таблиці:
![]() |
Почнемо з того, що дамо таблиці ім’я [ARTICLES], скориставшись полем введення [1]:
![]() |
Скористаємося полем введення [2], щоб визначити первинний ключ [ID]:
![]() |
Поле можна зробити первинним ключем, двічі клацнувши на полі [PK] (Primary Key) цього поля. Додамо поля за допомогою кнопки [3]:

Доки ми не «скомпілювали» наше визначення, таблиця не створюється. Скористаємося кнопкою [Compile], розташованою вище, щоб завершити визначення таблиці. IBExpert готує запити SQL для створення таблиці та запитує підтвердження:

Цікаво, що IBExpert відображає запити SQL, які він виконав. Це дозволяє вивчити не тільки мову 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]. Без такого підтвердження дані будуть втрачені.
IBExpert дозволяє відправляти запити SQL за допомогою опції [Tools/SQL Editor] або [F12]. У цьому випадку відкривається доступ до розширеного редактора запитів SQL, за допомогою якого можна відтворювати запити. Вони зберігаються в пам’яті, що дає змогу повернутися до запиту, який вже було відтворено. Ось приклад:

Виконуємо запит SQL за допомогою кнопки [Execute], розташованої вище. Отримуємо такий результат:

На цьому ми завершимо наші демонстрації. Комбінація IBExpert-Firebird чудово підходить для вивчення баз даних.
3.7. Встановлення та використання драйвера ODBC для [Firebird]
3.8. Встановлення драйвера
Посилання [firebird-odbc-provider] на сторінці завантажень [Firebird] (параграф 3.5) надає доступ до драйвера 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]. Після цього запускається майстер драйвера ODBC для Firebird:

- заповнюємо різні поля:

ім'я DSN джерела ODBC — може бути будь-яким | |
ім’я файлу Firebird BD, який потрібно обробити — використовуйте [Browse] для позначення відповідного файлу .gbd | |
ідентифікатор, який слід використовувати для підключення до бази даних | |
пароль, пов'язаний із цим ідентифікатором |
Кнопка [Test connection] дозволяє перевірити правильність введених даних. Перед її використанням запустіть SGBD [Firebird]:

- підтвердіть роботу майстра ODBC, виконавши [OK] стільки разів, скільки потрібно
3.10. Перевірте джерело ODBC
Існує кілька способів перевірки правильної роботи джерела ODBC. Тут ми скористаємося Excel:

- скористаємося наведеною вище опцією [Données -> Données externes -> Créer une requête]. З’явиться перше вікно майстра налаштування джерела даних. У панелі [Bases de données] перелічено джерела ODBC, які наразі налаштовані на комп’ютері:

- виберемо джерело ODBC [odbc-firebird-articles], яке ми щойно створили, і перейдемо до наступного кроку за допомогою [OK]:

- у цьому вікні перелічено таблиці та стовпці, доступні у джерелі ODBC. Ми беремо всю таблицю:

- перейдемо до наступного кроку з [Suivant]:

- Цей крок дозволяє нам відфільтрувати дані. Тут ми нічого не фільтруємо і переходимо до наступного кроку:

- Цей крок дозволяє нам сортувати дані. Ми цього не робимо і переходимо до наступного кроку:

- на останньому етапі нас запитують, що ми хочемо зробити з даними. Тут ми переносимо їх до Excel:

- Тут Excel запитує, куди ми хочемо помістити отримані дані. Ми розміщуємо їх у активному аркуші, починаючи з комірки A1. Після цього дані з’являються в аркуші Excel:

Існують й інші способи перевірки дійсності джерела 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
- запустіть Visual Studio та відкрийте оглядач серверів [Affichage/Explorateur de serveurs]:
![]() |
- клацніть правою кнопкою миші на [Connexion de données] і виберіть опцію [Ajouter une connexion]:

- у панелі [Provider] вкажіть, що ви хочете використовувати джерело ODBC (див. вище), а потім перейдіть до панелі [Connection]:

виберіть джерело ODBC у списку. Повинно з’явитися щойно створене джерело. За потреби скористайтеся [Refresh], щоб оновити список джерел ODBC. | |
ідентифікатор, який слід використовувати для входу в базу даних | |
пароль, пов’язаний із цим ідентифікатором |
Тут також кнопка [Test Connection] дозволяє перевірити правильність даних:

- підтвердіть роботу майстра за допомогою [OK]. Після цього джерело даних з’явиться у вікні [Explorateur de serveurs] у Visual Studio:

- двічі клацнувши на таблиці [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 від Microsoft. Її можна знайти за посиланням URL [http://www.microsoft.com/sql/msde/downloads/download.asp]:
![]() |
![]() | ![]() |
Завантажте інсталяційний файл, а потім встановіть SGBD, двічі клацнувши на завантаженому виконуваному файлі. З’явиться вікно з запитом про папку для інсталяції. Назва папки може ввести в оману. Це тимчасова папка, яку згодом можна видалити:
![]() | ![]() |
Уважно прочитайте файл [ReadmeMSDE2000A.htm]. Інсталятор — це файл [setup.exe], зазначений вище. Він запускається з командного рядка, щоб можна було передати йому параметри. Основні параметри такі:
Опис | |
| Вказує посилений пароль, який слід призначити для облікового запису адміністратора «sa». |
| Визначає ім'я екземпляра. Якщо INSTANCENAME не вказано, програма встановлення встановлює екземпляр за замовчуванням. |
Інші параметри, які часто використовуються для налаштування інсталяції:
Опис | |
| Вказує, чи буде екземпляр приймати мережеві з’єднання від програм, що виконуються на інших комп’ютерах. За замовчуванням або якщо вказати DISABLENTWORKPROTOCOL=1, програма встановлення налаштовує екземпляр так, щоб він відхиляв мережеві з’єднання. Вкажіть DISABLENETWORKPROTOCOLS=0, щоб увімкнути мережеві з’єднання. |
Вказує, що екземпляр має бути встановлений у змішаному режимі, тобто екземпляр підтримує аутентифікацію Windows та аутентифікацію 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 — СДБ працюватиме в режимі змішаної автентифікації. Таким чином, підключитися до MSDE можна буде двома способами:
- за допомогою облікового запису адміністратора Windows
- за допомогою облікового запису MSDE — у цьому випадку буде потрібно ввести логін та пароль. Саме цей режим слід використовувати в програмі, яка підключається до бази даних SGBD.
- SAPWD="azerty" — це буде пароль користувача sa з 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], як зазначено вище, а потім у вікні командного рядка скористаємося командою [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, htmlhelp тощо). Ця документація є дуже об’ємною. Зазвичай для роботи з базою даних MSDE краще використовувати графічний клієнт. Саме це пропонується трохи далі. Щоб вийти з [osql], використовується команда [exit]:
Тепер ми розглянемо, як створювати бази даних на щойно встановленому сервері MSDE. Перед цим ми коротко ознайомимося з інструментом [MSDE Manager], що дозволяє змінити режим автентифікації сервера MSDE. Дійсно, якщо встановити такий сервер із використанням стандартних параметрів інсталяції, режим автентифікації сервера буде типу [authentification windows]. Цей тип автентифікації дозволяє доступ лише користувачам, ідентифікованим на комп’ютері з ОС Windows (можливо, через домен). Для програми VB.NET, яка хоче підключитися до бази даних для використання її вмісту, цей режим виявляється малопрактичним. Ще гірше ситуація для Java-додатків, які отримують доступ до SGBD через драйвер JDBC. У такому разі краще використовувати змішану автентифікацію, яка, на додаток до попередньої автентифікації, приймає комбінації (логін, пароль), задекларовані в SGBD. Цю операцію можна виконати за допомогою інструменту [MSDE Manager].
3.13. Де знайти MSDE Manager?
[MSDE Manager] — це інструмент адміністрування SGBD та MSDE. Його можна знайти за посиланням URL та [http://www.valesoftware.com/].
Завантажити безкоштовну версію можна за посиланням вище:


Пробна версія діє протягом короткого часу. Це підходить, оскільки ми будемо використовувати її лише для однієї конкретної дії. Завантажуємо та встановлюємо програму. На робочому столі з’являється ярлик. Використовуємо його для запуску MSDE Manager. Пройшовши перші вікна, ми потрапляємо до такого:

- запустіть сервер MSDE140405
- ви повинні увійти на комп’ютер з Windows як адміністратор
- клацніть правою кнопкою миші на посилання [SQL Server Group] і виберіть опцію [New SQL Server Registration]:


З’явиться така сторінка властивостей:
![]() |
portable1_tahe\msde140405 — ім’я екземпляра MSDE, до якого ви хочете підключитися | |
Аутентифікація Windows — цей режим завжди доступний і дозволяє адміністратору комп’ютера з ОС Windows підключитися до сервера MSDE | |
Виберіть єдину групу серверів, що відображається: [SQL Server Group] |
Після натискання [OK] відображається дерево властивостей сервера MSDE140405:

Ми могли б почати створювати бази даних. Але ми цього не робитимемо, оскільки будемо використовувати інший продукт — клон продукту IBExpert, який ми вже розглядали. Ми просто змінимо режим автентифікації для MSDE. Клацнімо правою кнопкою миші на сервері MSDE140405, показаному вище, і виберемо опцію [Design]:

З’явиться таке інформаційне вікно:

Панель [General] містить інформацію про сервер MSDE, до якого ми підключені. Нас цікавить саме сторінка [Security]:

Тут потрібно переконатися, що режим автентифікації MSDE дійсно відповідає [SQL Server and Windows]. Таким чином, підключитися до MSDE можна двома способами:
- за допомогою облікового запису адміністратора Windows — саме так було зроблено в цьому випадку
- за допомогою облікового запису MSDE — у цьому випадку буде потрібно ввести логін та пароль. Саме цей режим слід використовувати в програмі, яка підключається до бази даних SGBD.
Підтверджуємо цей вибір і закриваємо MSDE Manager. Він нам більше не знадобиться. Для створення баз даних MSDE ми будемо використовувати інший інструмент: EMS MS SQL Manager.
3.14. Де знайти EMS , MS та SQL Manager?
EMS, MS, SQL Manager — це графічний інструмент для роботи з SGBD Microsoft SQL Server і, відповідно, MSDE. Він дуже схожий на описаний раніше інструмент IB-Expert. Він доступний у версії URL [http://sqlmanager.net/] (квітень 2005 року):

На сайті доступні адміністративні панелі для багатьох SGBD. Перейдіть за посиланням [MS SQL Manager]:

Вище ми обираємо полегшену версію продукту. Завантажте та встановіть її. У вас з’явиться папка, схожа на таку:

Виконуваний файл — [MsManager.exe]. Зазвичай у меню доступний ярлик [Démarrer]:

Після запуску MS SQL Manager відображає таке вікно:

Почнемо з реєстрації сервера MSDE, з яким ми хочемо працювати, за допомогою опції [Database/Register Host]:
![]() |
Коментарі:
- крок 1 — як уже зазначалося, MSDE підтримує два режими автентифікації: Windows та SQL Server. У режимі [windows] використовуються облікові записи комп’ютера під управлінням Windows. У режимі [SQL Server] використовуються облікові записи сервера SGBD. [SQL Server] може працювати в режимі [Windows] або в змішаному режимі [Windows, SQL Server]. Режим автентифікації [Windows] завжди доступний. Натомість змішаний режим автентифікації не завжди активний. Ми вже розглядали, як його активувати за допомогою MSDE Manager. У наведеному вище прикладі вхід відбувся за допомогою облікового запису адміністратора.
- Крок 2 — після успішної автентифікації пропонуються бази даних MSDE за замовчуванням. Вище були вибрані всі з них.
![]() |
Коментарі:
- крок 3: можна вибрати параметри адміністрування обраних баз даних. Тут збережено параметри, запропоновані за замовчуванням.
- Крок 4: ми реєструємо сервер MSDE за допомогою кнопки [Register]
Після цього сервер MSDE з’являється в оглядачі баз даних:

Скористаємося опцією [Database/Create Database] для створення бази даних:
![]() |
Крок 2:
Коли з’являється ця інформаційна сторінка, це означає, що база даних [dbarticles] створена. Перевірити це можна за допомогою кнопки [Test Connect]. У полі [Database alias] можна ввести будь-що. Тут ми вказали:
- назву бази даних
- назву сервера MSDE, на якому вона розміщена
- ім'я користувача [admarticles], який буде власником цієї бази, та його пароль [mdparticles]. Цей користувач ще не створений, але буде створений найближчим часом.
Крок 3:
- за допомогою кнопки [Register] ми реєструємо нову базу даних у [MS SQL Server ]. Після реєстрації база даних [admarticles] з’являється у списку баз даних. Подвійне клацання по ній відкриває дерево її властивостей.
![]() | ![]() |
Створимо новий логін для входу, який буде адміністратором бази даних [admarticles].
- Виберіть опцію [Tools/Login manager]:

- Бачимо, що вже визначено два логіни:
- [BUILTIN\Administrateurs]: цей обліковий запис використовує аутентифікацію Windows. Він представляє адміністраторів комп’ютера з ОС Windows, на якому розташований сервер MSDE
- sa: цей логін використовує аутентифікацію SQL. За замовчуванням це адміністратор сервера MSDE. Нагадаємо, що тут, згідно з налаштуваннями під час встановлення SGBD MSDE, його пароль — [azerty].
- Клацнімо правою кнопкою миші на області логінів і додамо новий логін:
![]() |
- З’явиться вікно, у якому ми визначаємо параметри нового логіна:

- Ім’я логіна: admarticles
- Пароль: mdparticles
- Після натискання кнопки [OK] менеджер MS показує нам запити SQL, які він буде виконувати:

Мова SQL, представлена вище, — це Transact-SQL, мова SQL з MSDE. Ми запитуємо виконання цього коду за допомогою [OK]
- новий логін додається до списку логінів:

- у вікні властивостей бази даних [dbarticles] клацніть правою кнопкою миші на [users], щоб створити користувача з правами доступу до бази даних [dbarticles]:

- після чого з’явиться таке вікно:

- у списку [Login] міститься перелік існуючих логінів. Вибираємо логін [admarticles].
- У полі [Name] вказуємо ім’я користувача. До одного логіна може бути прив’язано декількох користувачів. Тому в MSDE для створення користувача спочатку потрібно створити логін. Панель [User] виглядає наступним чином:

- тепер перейдемо до панелі [Member Of], яка дозволить нам визначити права нашого користувача:

- Я не є постійним користувачем MSDE і не знаю точного значення кожної з ролей, запропонованих у лівому вікні. Роль [db_owner] виглядає привабливо (owner = власник). Тому ми обираємо її для нашого користувача [admarticles]:

- підтверджуємо наш вибір за допомогою кнопки [Compile], розташованої вище. Запити SQL, що подаються на виконання, є такими:

- ми компілюємо їх за допомогою [OK]. Тепер у нас є користувач бази даних [dbarticles]:

- Тепер створимо таблицю. Клацніть правою кнопкою миші на [Tables] і виберіть опцію [New Table]. З’явиться вікно налаштування властивостей таблиці:

- Спочатку дамо таблиці ім’я [ARTICLES], скориставшись полем введення [Table Name]. Далі перейдемо до панелі [Fields]:

- визначимо такі поля:

Доки ми не «скомпілювали» наше визначення, таблиця не створюється. Скористаємося кнопкою [Compile] вище, щоб завершити визначення таблиці. [MS SQL Manager] готує запити SQL для створення таблиці та запитує підтвердження:

Цікаво, що [MS SQL Manager] відображає запити SQL, які він виконав. Це дозволяє одночасно вивчати мову Transact-SQL. Кнопка [Commit] дозволяє підтвердити поточну транзакцію, а [Rollback] — скасувати її. Тут ми підтверджуємо її за допомогою [Commit]. Після цього [MS SQL Manager] додає створену таблицю до дерева нашої бази даних:

Двічі клацнувши на таблиці, ми отримуємо доступ до її властивостей:

Панель [Checks] дозволяє додати до таблиці нові обмеження цілісності. Для таблиці [ARTICLES] ми створимо такі обмеження:
- поля [ID, PRIX, STOCKACTUEL, STOKMINIMUM] повинні бути >=0
- поле [NOM] має бути не порожнім
У панелі [Checks] клацнімо правою кнопкою миші на порожній області, щоб додати нове обмеження [New check]:

- Вікно редагування обмежень виглядає наступним чином:

Name: назва обмеження
Таблиця: таблиця, на яку діє обмеження
Визначення: вираз обмеження
Обмеження компілюється за допомогою кнопки [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] дозволяє формувати запити SQL за допомогою опції [Tools/Show SQL Editor] або [F12]. Тоді ми отримуємо доступ до розширеного редактора запитів SQL, за допомогою якого можна відтворювати запити. Вони зберігаються в пам’яті, тож можна повернутися до запиту, який вже було відтворено. Ось приклад:

Виконуємо запит SQL за допомогою кнопки [Execute], розташованої вище. Отримуємо такий результат:

На цьому ми завершимо наші демонстрації. Комбінація [MS SQL Manager - MSDE], як і комбінація [IBExpert - Firebird], також чудово підходить для вивчення баз даних.
3.15. Створити джерело ODBC [MSDE]
Драйвер ODBC для сервера SQL зазвичай встановлюється за замовчуванням на комп’ютерах з ОС Windows.
- Запустити інструмент [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] для надання нової інформації:

- заповнюємо різні поля:
вказуємо, що підключатимемося до джерела даних ODBC з іменем користувача, зареєстрованим на сервері MSDE | |
логін користувача | |
пароль користувача |
- Зверніть увагу, що ми вперше використовуємо користувача (admarticles, mdparticles), створеного в попередньому розділі. Знову виконуємо [Suivant], щоб отримати наступний новий аркуш:

- заповнюємо різні поля:
вибираємо базу [dbarticles] як базу за замовчуванням для користувача [admarticles] |
- вводимо [Suivant], щоб отримати наступний новий аркуш:

- приймаємо значення за замовчуванням і створюємо [Terminer]. Наводимо підсумок характеристик джерела ODBC, яке буде створено:

- Кнопка [Tester la source de données] дає нам можливість перевірити правильність введених даних. Переконайтеся, що процес MSDE запущено, а потім перевірте з’єднання:

- тепер ми впевнені, що пара [admarticles, mdparticles] розпізнається.
Для проведення додаткових тестів читач може дотримуватися процедури, описаної в розділі 3.10.
3.16. Рядок підключення до бази даних MSDE
- запустіть Visual Studio та відкрийте оглядач серверів [Affichage/Explorateur de serveurs]:
![]() |
- клацніть правою кнопкою миші на [Connexion de données] і виберіть опцію [Ajouter une connexion]:

- у панелі [Provider] вкажіть, що ви хочете використовувати джерело SQL Server, а потім перейдіть до панелі [Connection]. Зверніть увагу, що тут не використовується драйвер ODBC.

назва сервера MSDE, до якого здійснюється підключення | |
ідентифікатор, який потрібно використовувати для підключення до бази даних | |
пароль, пов'язаний із цим ідентифікатором | |
база даних, з якою потрібно працювати |
Кнопка [Tester la connexion] дозволяє перевірити правильність введених даних:

- підтвердити роботу майстра за допомогою [OK]. Досить дивно, але у новому вікні запитуються параметри з’єднання:

- вводимо їх знову та виконуємо [OK]. Після цього джерело даних з’являється у вікні [Explorateur de serveurs] у Visual Studio:

- двічі клацнувши на таблиці [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
Багато елементів цього рядка підключення мають значення за замовчуванням. Можна обмежитися таким рядком підключення:






























