Ноу Інти, лекція, підключення до бази даних microsoft sql server

Анотація: Підключення до бази даних Microsoft SQL Server з розділеним доступом. Події InfoMessage і StateChange об'єкта Connection. Обробка винятків. Робота з пулом з'єднань. Microsoft SQL Profiler







Підключення до бази даних Microsoft SQL Server

Підключення до бази даних Microsoft SQL Server з розділеним доступом

Середа Microsoft SQL Server надає кошти розділеного управління об'єктами сервера. Для доступу використовуються два режими аутентифікації: режим аутентифікації Windows (Windows Authentication) і режим змішаної аутентифікації (Mixed Mode Authentication). При установці перший режим пропонується за замовчуванням, тому, швидше за все, ваш сервер налаштований з його використанням (рис. 4.1):

Ноу Інти, лекція, підключення до бази даних microsoft sql server


Мал. 4.1. Режим аутентифікації Windows пропонований за замовчуванням при установці

В цьому випадку аутентифікація користувача здійснюється операційною системою Windows. Потім SQL Server використовує аутентифікацію операційної системи для визначення рівня доступу. При підключенні у вікні "Властивості зв'язку з даними" ми також вказували цей режим (рис. 4.2):

Ноу Інти, лекція, підключення до бази даних microsoft sql server


Мал. 4.2. Режим аутентифікації Windows у вікні "Властивості зв'язку з даними"

Змішаний режим дозволяє проводити аутентифікацію користувача як засобами операційної системи, так і з застосуванням облікових записів Microsoft SQL Server. Для включення цього режиму запускаємо SQL Server Enterprise Manager, на вузлі локального сервера клацаємо правою кнопкою і вибираємо пункт меню "Властивості". У вікні "SQL Server Properties" переходимо на вкладку "Security", встановлюємо перемикач в положення "SQL Server and Windows" (рис. 4.3).

Ноу Інти, лекція, підключення до бази даних microsoft sql server

Після підтвердження змін закриваємо вікно властивостей. Розкриваємо вузол "Security" поточного сервера, виділяємо об'єкт "Logins". У ньому ми бачимо два записи - "BULTIN \ Адміністратори" і "sa". Перша з них призначена для аутентифікації облікових записів операційної системи. Друга - "sa" (system administrator) - являє собою обліковий запис адміністратора сервера, за замовчуванням вона конфігурується без пароля. Для його створення клацаємо правою кнопкою миші на записи, в меню вибираємо пункт "Властивості". В поле "Password" вікна "SQL Server Login Properties" вводимо пароль "12345" і підтверджуємо його (рис. 4.4):

Ноу Інти, лекція, підключення до бази даних microsoft sql server






Займемося тепер підключенням до заданої базі даних, наприклад Northwind, від імені облікового запису "sa". Створіть нове Windows-додаток, назвіть його "VisualSQLUser_sa". Перетягуємо на форму елемент управління DataGrid, його властивості Dock встановлюємо значення "Fill". У вікні Toolbox переходимо на вкладку Data і двічі клацаємо на об'єкті SqlDataAdapter. У який з'явився майстра створюємо нове підключення. У вікні "Властивості зв'язку з даними" вказуємо назву локального сервера (local), ім'я користувача (sa) і пароль (12345), а також базу даних Northwind (рис. 4.5):

Ноу Інти, лекція, підключення до бази даних microsoft sql server


Мал. 4.5. Вікно "Властивість зв'язку з даними". додаток VisualSQLUser_sa

Додатково ми встановили галочку "Дозволити збереження пароля". При цьому його значення (12345) буде збережено у вигляді тексту в рядку connectionString. Поки ми змушені це зробити - інтерфейс нашого застосування не передбачає можливість введення пароля в момент підключення. Завершуємо роботу майстра "Data Adapter Configuration Wizard", налаштовуючи вилучення всіх записів з таблиці Customers. В останньому кроці ми знову погоджуємося зберегти пароль у вигляді тексту (рис. 4.6).

Ноу Інти, лекція, підключення до бази даних microsoft sql server


Мал. 4.6. Діалогове вікно збереження пароля

На панелі компонент форми виділяємо об'єкт DataAdapter. переходимо в його вікно Properties і натискаємо на посилання "Generate dataset". Ми залишаємо назву об'єкта DataSet. пропоноване за замовчуванням. У конструкторі форми заповнюємо об'єкт DataSet. а також визначаємо джерело даних для елемента DataGrid:

Запускаємо програму. На форму виводяться записи таблиці Customers (рис. 4.7):

Ноу Інти, лекція, підключення до бази даних microsoft sql server


Мал. 4.7. Готове додаток VisualSQLUser_sa

У програмному забезпеченні до курсу ви знайдете додаток VisualSQL User_sa (Code \ Glava2 \ VisualSQLUser_sa).

Зробимо точно таке ж додаток без використання візуальних засобів студії. Створіть новий Windows-проект, назвіть його "ProgrammSQLUser_sa". Додаємо на форму елемент управління DataGrid. його властивості Dock встановлюємо значення "Fill". Підключаємо простір імен для роботи з базою:

У класі форми створюємо рядки connectionString і commandText:

У конструкторі форми створюємо всі об'єкти ADO .NET:

У програмному забезпеченні до курсу ви знайдете додаток Programm SQLUser_sa (Code \ Glava2 \ ProgrammSQLUser_sa).

На відміну від підключень до бази даних Microsoft Access тут ми не зустріли ніяких складнощів. Вкладка "Підключення" в вікні "Властивості зв'язку з даними" дійсно надає всі засоби для підключення до бази даних Microsoft SQL Server. Для аутентифікації користувача досить вказати його ім'я і пароль.

Події об'єкта Connection

Клас Connection підтримує кілька подій, що дозволяють відслідковувати статус з'єднання і отримувати повідомляючі повідомлення для примірника цього класу. Опис подій наводиться в таблиці 4.1.

Таблиця 4.1. Події об'єкта Connection

Виникає при виклику методу Dispose екземпляра класу

Виникає при отриманні інформаційного повідомлення від постачальника даних

Виникає при відкритті або закритті з'єднання. Підтримується інформація про поточний і вихідному станах

При виклику методу Dispose об'єкта Connection відбувається звільнення займаних ресурсів та збирання сміття. При цьому неявно викликається метод Close.

Розглянемо застосування події StateChange і обробник події Disposed. Створіть нове Windows-додаток і назвіть його "ConnectionEventsSQL". Властивості Size форми встановлюємо значення "600; 300". Розміщуємо на форму елемент управління DataGrid. його властивості Dock встановлюємо значення "Fill". Додаємо елемент Panel. його властивості Dock встановлюємо значення "Bottom". На панелі розміщуємо два написи і одну кнопку, встановлюючи такі їх властивості: