77
PBC202ILL Лабораторная работа Основы разработки с SQL Azure

Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

  • Upload
    others

  • View
    31

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

PBC202ILLЛабораторная работаОсновы разработки с

SQL Azure

Page 2: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

СОДЕРЖАНИЕ

ОБЗОР............................................................................................................................................................................ 3

УПРАЖНЕНИЕ 1: ПОДГОТОВКА УЧЕТНОЙ ЗАПИСИ SQL AZURE........................................................................6Задача 1 – создание и настройка сервера в SQL Azure...................................................................................6

УПРАЖНЕНИЕ 2: ВЫПОЛНЕНИЕ DDL И DML ЗАПРОСОВ..................................................................................11Задача 1 – создание новой базы данных.......................................................................................................12

Задача 2 – управление базой данных с помощью Database Manager for SQL Azure...................................13

Задача 3 – управление базой данных с помощью SQL Server Management Studio.....................................18

Задача 4 – создание учетных записей и пользователей базы данных........................................................21

Задача 5 – создание таблиц, индексов и запросов.......................................................................................25

УПРАЖНЕНИЕ 3: РАБОТА С SQL AZURE ИЗ ПРИЛОЖЕНИЯ WINDOWS AZURE.............................................29Задача 1 – создание тестовой базы данных в SQL Azure..............................................................................29

Задача 2 – создание проекта в Visual Studio..................................................................................................30

УПРАЖНЕНИЕ 4: РАБОТА С ИСПОЛЬЗОВАНИЕМ РАЗЛИЧНЫХ МЕХАНИЗМОВ ДОСТУПА.........................41Задача 1 –открытие заготовки решения и изучение общей функциональности........................................42

Задача 2 – подключение к SQL Azure с использованием ADO.NET..............................................................44

Задача 3 – подключение к SQL Azure с использованием ODBC....................................................................49

Задача 4 – подключение к SQL Azure с использованием OLEDB..................................................................53

Задача 5 – подключение к SQL Azure с использованием Entity Framework.................................................58

Задача 6 – подключение к SQL Azure с использованием сторонних технологий........................................66

РЕЗУЛЬТАТ................................................................................................................................................................. 67

Внимание:1. Для выполнения данной лабораторной работы

необходима учетная запись Windows Azure2. Все необходимые для выполнения данной работы

материалы находятся в каталоге C:\WAPTK\Labs\IntroToSQLAzureVS2010

3. Пароль для входа в систему: Passw0rd!

2 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 3: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

ОбзорSQL Azure является реализацией СУБД Microsoft SQL Server для Windows Azure. Работа с SQL Azure будет достаточно простой для большинства разработчиков, поскольку поддерживается большая часть инструментов и способов разработки, доступных при использовании SQL Server.

Тем не менее, между SQL Azure и SQL Server существуют некоторые отличия. Некоторые из них связаны с архитектурными особенностями SQL Azure, в то время как причиной других является относительная новизна продукта.

В ходе данной лабораторной работы вы познакомитесь с некоторыми аспектами администрирования SQL Azure – добавлением учетной записи, созданием и управлением базой данных. Вы создадите простое приложение для Windows Azure, позволяющее управлять записями в таблице Contact базы данных, работающей под управлением SQL Azure.

ЗадачиВ данной лабораторной работе вы:

Приобретете навыки работы с СУБД SQL Azure для использования в своих приложениях.

Научитесь выполнять административные задачи:

◦ Создавать учетные записи в SQL Azure

◦ Создавать базу данных

◦ Добавлять пользователей БД и управлять их полномочиями

Научитесь выполнять запросы:

◦ Data Definition Language (DDL) выражения для создания таблиц и индексов

◦ Data Manipulation Language (DML) для добавления и извлечения записей

Создадите простое ASP.NET приложение для работы с базой данных.

Получите навыки работы с БД SQL Azure с использованием различных технологий.

Технические требованияДля выполнения данной лабораторной работы вам потребуется наличие:

Microsoft .NET Framework 4.0

Microsoft Visual Studio 2010

3 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 4: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

SQL Server Management Studio 2008 R2 Express Edition

Windows Azure Tools for Microsoft Visual Studio 1.4

Наличие учетной записи для доступа к SQL Azure и созданного сервера

◦ Настроенный SQL Azure Firewall для доступа с машины, используемой для выполнения работы

Внимание: данная работа должна выполняться с последней версией инструментария Windows Azure Tools for Visual Studio 2010 (версия 1.4) и описывает работу с административным порталом Windows Azure Platform Management Portal.

Вам потребуется наличие учетной записи для доступа к SQL Azure. Для самостоятельной регистрации посетите сайт http :// www . microsoft . com / windowsazure / sqlazure / .

Настройка системы[Данная процедура была выполнена для вас]

Для вашего удобства большая часть кода представлена в виде фрагментов (code snippets), зарегистрированных в Visual Studio. Чтобы проверить наличие требуемых для выполнения работы компонентов и установить фрагменты кода:

1. Откройте Проводник Windows (Windows Explorer) и перейдите в каталог Source\Setup.

2. Дважды щелкните на файле Dependencies.dep для запуска утилиты Dependency Checker, используя которую, установите фрагменты кода и недостающие компоненты.

3. В случае появления диалога User Account Control, подтвердите необходимость продолжения выполнения.

Внимание: данная операция требует повышения полномочий. Расширение .dep используется утилитой Dependency Checker. Для получения дополнительной информации об использовании утилиты обратитесь к документу Setup.docx, находящемуся в подкаталоге Assets в каталоге с материалами к данной работе.

Использование фрагментов кода(Code Snippets)4 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙

Основы разработки с SQL Azure.

Page 5: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

В течение выполнения всей лабораторной работы вы будете добавлять в проект фрагменты кода. Для вашего удобства большая часть таких фрагментов оформлена в виде зарегистрированных в Visual Studio фрагментов, что позволяет добавлять их, а не вводить вручную.

Если вы не знакомы с концепцией использования фрагментов кода в Visual Studio, обратитесь к документу Setup.docx, находящемуся в подкаталоге Assets в каталоге с материалами к данной работе.

УпражненияДанная лабораторная работа включает следующие упражнения:

1. Подготовка учетной записи SQL Azure

2. Выполнение DDL и DML запросов – создание таблиц и индексов

3. Работа с SQL Azure из приложения Windows Azure

4. Работа с использованием различных механизмов доступа

Приблизительное время выполнения данной работы: 60 минут.

Внимание: при первом запуске Visual Studio вам будет предложено выбрать один из имеющихся наборов настроек. Каждый набор ориентирован на определенный стиль разработки и определяет схему размещения окон, поведение редакторов, перечень доступных фрагментов кода и другие настройки. Описанные ниже действия расчитаны на использование набора настроек под названием «General Development Settings». Если вы выберете другой набор настроек, порядок выполнения тех или иных действий может отличаться от описанного.

1: Упражнение Подготовка SQL Azureучетной записи

В данном упражнении вы подключитесь к SQL Azure с использованием учетной записи, создадите сервер БД и добавите пользователя. Затем вы повторно подключитесь к SQL Azure, чтобы начать работу с созданной базой данных.

5 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 6: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Задача 1 – создание и настройка сервера в SQL Azure

В этом упражнении вы подключитесь к административному порталу SQL Azure с использованием имеющейся учетной записи.

1. Перейдите на портал Windows Azure, располагающийся по адресу https :// windows . azure . com .

2. Войдите в систему, используя учетную запись Windows Live.

Рисунок 1Подключение к административному порталу Azure Services с использованием учетной записи Windows Live

3. На стартовой странице портала Windows Azure, щелкните по кнопке New Database Server.

6 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 7: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 2Создание сервера БД в SQL Azure

4. Если вы ранее не создавали сервер БД, выполните эту процедуру, иначе можете пропустить это упражнение.

5. Чтобы создать сервер, выберите подписку из списка в левой панели. Нажмите кнопку Create на панели Server.

Рисунок 3Создание сервера БД в SQL Azure

6. Выберите расположение из выпадающего списка Region, затем нажмите кнопку Next. Данная настройка определяет, где географически будет расположена база данных.

7 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 8: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 3Выбор места размещения БД

7. Введите имя и пароль администратора и нажмите кнопку Next.

Рисунок 4Ввод имени и пароля администратора БД

8 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 9: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Внимание: учетная запись администратора используется для управления сервером базы данных. Не используйте его в строках подключения, где он может быть похищен третьими лицами.

Пароль должен удовлетворять приведенным ниже требованиям.

8. Нажмите кнопку Finish для завершения создания сервера. Правила брандмауэра вы настроите далее в этом упражнении.

Рисунок 5Диалог настройки правил брандмауэра

9 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 10: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

9. После завершения будет отображена подробная информация о созданном сервере.

Рисунок 6Информация о серверах SQL Azure

Внимание: информация о сервере, в том числе, содержит его полное доменное имя в формате:

<ServerName>.database.windows.net

где <ServerName> указывает на физический сервер, например, a9ixtp7pux.database.windows.net.

10. Раскройте узел подписок на левой панели и щелкните на имени добавленного сервера. Страница Server Information позволяет управлять основными настройками сервера.

Рисунок 7Страница свойств сервера БД SQL Azure

10 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 11: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

11. Раскрывающийся список Firewall Rules позволяет указать перечень IP-адресов компьютеров, имеющих возможность подключения к SQL Azure Server. По умолчанию все подключения запрещены, поэтому обязательно настройте список доступа, чтобы клиенты могли подключаться к серверу.

Рисунок 8Настройка правил брандмауэра SQL Azure

Внимание: для применения правил брандмауэра может потребоваться некоторое время.

Вы создали сервер БД и настроили его для выполнения следующих шагов лабораторной работы. Подключиться к работающей в SQL Azure базе данных можно из любой точки земного шара.

2: DDL Упражнение Выполнение и DML запросовВ этом упражнении вы добавите базу данных, создадите ее структуру – несколько таблиц и индексов, после чего выполните ряд запросов к данным. Для работы вы сможете воспользоваться двумя инструментами. Первый - Database Manager for SQL Azure – доступный из

11 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 12: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

административного портала Windows Azure веб-интерфейс на основе Silverlight. Второй инструмент – это давно знакомый и привычный SQL Server Management Studio. Вы увидите, что он одинаково полезен и для управления базами данных SQL Azure.

Задача 1 – создание новой базы данных

1. В левой панели административного портала Windows Azure выберите Database.

2. В левой панели найдите узел Subscriptions, последовательно разверните проект, выберите имя интересующего вас сервера, после чего нажмите кнопку Create на панели инструментов Database.

Рисунок 9Создание новой базы данных

3. В диалоговом окне Create Database укажите имя базы данных (поле Database name) -

например HoLTestDB (в примерах ниже предполагается, что база данных называется так), выберите издание (Edition) Web Edition и установите максимальный размер базы данных (поле Maximum size) равным 1 GB.

12 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 13: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 10Свойства создаваемой базы данных

Внимание: в данной лабораторной работе вы создаете базу данных с помощью административного портала SQL Azure. Кроме того, поддерживается DDL-конструкция языка T-SQL CREATE DATABASE, позволяющая указать редакцию базы данных (Web или Business) и ее максимальный размер. Например, чтобы создать базу данных редакции Business, максимальный размер которой равен 30GB, следует воспользоваться следующей командой T-SQL:

CREATE DATABASE HolTestDB (MAXSIZE = 30GB)

После достижения базой данных максимального размера добавление в нее записей становится невозможным до удаления части данных.

Задача 2 – управление базой данных с помощью Database Manager for SQL Azure

В этой задаче вы воспользуетесь инструментом Database Manager for SQL Azure, веб-приложением на основе Silverlight, для подключения к созданной базе данных, создания и заполнения данными таблицы и последующего запроса ее содержимого.

1. Разверните узел сервера в левой панели, выберите базу данных HoLTestDB и нажмите кнопку Manage на панели инструментов.

13 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 14: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 11Управление базой данных

2. На странице входа введите имя учетной записи и пароль и нажмите кнопку Connect.

Рисунок 12Ввод реквизитов для входа в утилиту Database Manager

14 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 15: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

3. Дождитесь подключения к базе данных и отображения начальной страницы.

Рисунок 13Утилита Database manager. Начальная страница

4. В группе Operations на панели инструментов нажмите New Table.

Рисунок 14Создание таблицы

15 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 16: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

5. В интерфейсе создания таблицы установите ее имя (поле Name) в People.

6. Нажимая кнопку + Column, добавьте три столбца, как показано в таблице ниже.

Имя колонки Тип Is Identity? Is Required? Is Primary Key?

ID Int Yes Yes Yes

Name nvarchar(50) No Yes No

Age Int No Yes No

Рисунок 15Определение схемы таблицы

7. Нажмите кнопку Save, находящуюся в группе Operations панели инструментов.

Рисунок 16Сохранение схемы таблицы

8. После сохранения таблицы нажмите кнопку Data в группе Context панели инструментов.

9. Нажимая кнопку + Row, добавьте записи в таблицу. Значения для колонок Name и Age возьмите из приведенной ниже таблицы.

16 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 17: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Name Age

Alexandra 16

Ian 18

Marina 45

Рисунок 17Добавление строк в таблицу

10. Повторите предыдущий шаг для добавления всех записей, после чего сохраните данные нажатием кнопки Save в группе Operations панели инструментов.

11. Далее перейдите к закладке Database (в верхнем левом углу страницы) и нажмите кнопку New Query в группе Operations панели инструментов.

12. В окне запроса введите следующее выражение T-SQL, извлекающее все строки из таблицы People и нажмите кнопку Execute в группе Run панели инструментов. Убедитесь в том, что результат содержит предварительно введенные вами записи.

T-SQLselect * from People

17 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 18: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 18Выполнение запроса к базе данных

Задача 3 – управление базой данных с помощью SQL Server Management Studio

В этой задаче вы будете работать с SQL Server с помощью привычного инструмента - SQL Server Management Studio.

1. Откройте SQL Server Management Studio из меню Start | All Programs | Microsoft SQL Server 2008 R2 | SQL Server Management Studio. Отобразится диалог ввода реквизитов.

2. В диалоге Connect to Server введите реквизиты. Убедитесь, что выбран тип аутентификации SQL Server Authentication, поскольку в текущий момент SQL Azure поддерживает только его.

Внимание: замените [SERVERNAME] вашим именем сервера («Имя_сервера».database.windows.net.)

18 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 19: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 19Подключение к SQL Azure с использованием SQL Server Management Studio

3. Нажмите кнопку Connect.

4. В панели Object Explorer отобразится структура базы данных. Обратите внимание на то, что представление базы данных SQL Azure не отличается от традиционной.

Рисунок 20Структура базы данных HoLTestDB в панели Object Explorer

5. В дереве Object Explorer выберите базу данных HoLTestDB и нажмите кнопку New Query на панели инструментов.

19 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 20: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 21Вызов окна создания запроса

6. У вас открылось окно создания запроса. Чтобы убедиться в подключении к БД SQL Azure, можно воспользоваться встроенной функцией @@version. Введите приведенный ниже запрос и нажмите кнопку Execute. Полученный результат отображает редакцию и версию Microsoft SQL Azure.

T-SQLSELECT @@version

Рисунок 22Запрос версии SQL Azure

7. Замените предыдущий запрос приведенным ниже и нажмите кнопку Execute. Убедитесь в том, что результат отображает список доступных баз данных.

T-SQLSELECT * FROM sys.databases

20 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 21: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 23Результаты запроса, отображающего список доступных баз данных

8. Чтобы получить имя базы данных, в контексте которой работает текущее подключение, выполните приведенный ниже запрос.

C#SELECT db_name()

Рисунок 24Запрос текущей базы данных

9. Не закрывайте окно запроса, оно потребуется при работе над следующей задачей.

Задача 4 – создание учетных записей и пользователей базы данных

Как и SQL Server, SQL Azure позволяет создавать дополнительные учетные записи и ассоциировать их с пользователями базы данных. В данной задаче вы добавите учетную запись для входа, после чего создадите ассоциированного с ней пользователя базы данных HoLTestDB.

21 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 22: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

1. Откройте новое окно запроса, подключенное к базе данных master. Чтобы сделать это, в панели Object Explorer раскройте узел System Databases, расположенный внутри узла Databases, и выберите элемент master. Затем нажмите кнопку New Query на панели инструментов.

Рисунок 25Открытие окна запроса в контексте БД master

Внимание: использовать уже открытое ранее окно запроса, подключенное к БД HoLTestDB, нельзя без закрытия текущего подключения. Инструкция USE <имя_базы_данных> не работает в SQL Azure. Таким образом, для изменения текущей БД необходимо открыть новое окно запроса или выполнить процедуру разрыва и повторного соединения.

2. Создайте учетную запись, выполнив следующий запрос:

T-SQL

CREATE LOGIN HoLUser WITH password='Password1'

Внимание: рекомендуется указать уникальный пароль и использовать его далее в ходе выполнения данной лабораторной работы. В противном случае настоятельно рекомендуется удалить учетную запись после завершения выполнения работы. Чтобы сделать это, выполните в контексте базы данных master следующий запрос:

DROP LOGIN HoLUser

22 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 23: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

3. Вернитесь в подключенное к базе данных HoLTestDB окно запроса. Если вы закрыли его, то откройте повторно, выбрав базу данных HoLTestDB в панели Object Explorer и нажав кнопку New Query.

4. В окне запроса выполните следующую команду, добавляющую нового пользователя в базу данных HoLTestDB. Новый пользователь ассоциируется с учетной записью HoLUser.

T-SQL

-- Create a new user from the login and executeCREATE USER HoLUser FROM LOGIN HoLUser

5. Теперь добавьте пользователя в роль db_owner базы данных HoLTestDB, выполнив следующий запрос:

T-SQL

-- Add the new user to the db_owner role and executeEXEC sp_addrolemember 'db_owner', 'HoLUser'

Внимание: сделав пользователя участником роли db_owner, вы присвоили ему очень широкий набор полномочий. В реальной ситуации следует руководствоваться принципом наименьших полномочий.

6. Измените используемого в текущем подключении пользователя на вновь созданного HoLUser. Чтобы сделать это, щелкните правой кнопкой мыши внутри окна запросов, выберите пункт Connection, после чего щелкните на Change Connection.

23 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 24: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 26Изменение свойств подключения к базе данных

7. В диалоге Connect to Database Engine замените имя учетной записи (поле Login) на HoLUser и укажите пароль (поле Password) – значение, которое вы указали при создании учетной записи.

Рисунок 27Подключение к базе данных от имени другой учетной записи

24 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 25: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

8. Нажмите кнопку Options, чтобы отобразить расширенный перечень настроек. Перейдите на закладку Connection Properties и убедитесь в том, чтоб выбрана база данных HoLTestDB. Если текущее значение отличается, потребуется впечатать его в поле Connect do database, поскольку в раскрывающемся списке необходимое значение может отсутствовать. Нажмите кнопку Connect.

Рисунок 28Подключение к указанной базе данных

Внимание: теперь вы подключены к базе данных от имени пользователя HoLUser. В оставшейся части упражнения вы будете работать в контексте данного пользователя.

Задача 5 – создание таблиц, индексов и запросов

1. В окне запроса замените содержимое приведенным ниже фрагментом, создающим таблицу Contact, и выполните его.

25 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 26: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

T-SQL

CREATE TABLE [Contact]( [ContactID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED, [Title] [nvarchar](8) NULL, [FirstName] [nvarchar](50) NOT NULL, [LastName] [nvarchar](50) NOT NULL, [EmailAddress] [nvarchar](50) NULL, [Phone] [nvarchar](30) NULL, [Timestamp] [timestamp] NOT NULL)

Внимание: SQL Azure требует наличия кластерного индекса у всех таблиц. Если вы создадите таблицу без кластерного индекса, то не сможете добавлять в нее строки.

Поскольку кластерный индекс определяет физический порядок записей на диске, влияя на скорость выполнения некоторых запросов, иногда целесообразно применить его не к содержащему первичный ключ столбцу.

2. Создайте индекс по столбцу EmailAddress. Для этого выполните запрос:

T-SQL

CREATE INDEX IX_Contact_EmailAddress ON Contact(EmailAddress)

3. Добавьте запись в таблицу Contact:

T-SQL

INSERT INTO [Contact]([Title],[FirstName],[LastName],[EmailAddress],[Phone]) VALUES('Mr','David','Alexander','[email protected]','555-1234-5555')

4. Теперь выполните выборку данных с отображением плана выполнения. Для этого используйте опцию SHOWPLAN_ALL:

T-SQL

SET SHOWPLAN_ALL ONGOSELECT * FROM Contact WHERE EmailAddress ='[email protected]'GOSET SHOWPLAN_ALL OFF

26 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 27: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 29План выполнения запроса на небольшом объеме данных

5. Теперь добавьте значительное количество строк в таблицу и повторно постройте план выполнения. Прежде всего, создайте хранимую процедуру AddData, добавляющую указанное количество записей в таблицу. Добавляемые строки идентичны за исключением адреса электронной почты, который формируется на основании значения счетчика (Counter) по шаблону [Counter]davida @ fabrikam . com :

T-SQL

CREATE PROCEDURE AddData@NumRows intASDECLARE @counter intSELECT @counter = 1WHILE (@counter < @NumRows)BEGIN INSERT INTO [Contact] ([Title],[FirstName],[LastName],[EmailAddress],[Phone]) VALUES ('Mr','David','Alexander',CAST(@counter as nvarchar)+'[email protected]','555-1234-5555') SELECT @counter = @counter + 1END

6. Выполните хранимую процедуру для добавления 10000 строк в таблицу Contact:

T-SQL

EXEC AddData 10000

27 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 28: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Внимание: добавление 10000 строк в таблицу может занять некоторое время.

7. Выполните приведенный ниже запрос и сравните планы выполнения со случаем, когда в таблице содержалось малое количество строк.

T-SQL

SET SHOWPLAN_ALL ONGOSELECT * FROM Contact WHERE EmailAddress ='[email protected]'GOSET SHOWPLAN_ALL OFF

Рисунок 30План выполнения запроса на значительном объеме данных

Внимание: обратите внимание, что во втором случае использован созданный индекс. В плане выполнения об этом свидетельствует запись Index Seek.

8. С использованием SQL Server Management Studio вы можете также отобразить план выполнения в графическом виде. Находясь в окне запроса, нажмите сочетание клавиш Ctrl-L, чтобы отобразить ожидаемый план выполнения (Estimated Execution Plan).

28 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 29: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 31Графическое представление плана выполнения

3: SQL Azure Упражнение работа с Windows Azureиз приложения

В этом упражнении вы создадите простое приложение для Windows Azure, позволяющее управлять данными в таблице Customer базы данных AdventureWorksLT2008.

Цель данного упражнения – продемонстрировать, насколько просто работать с SQL Azure и Windows Azure – это можно сделать, используя только имеющиеся в Visual Studio графические инструменты и функциональность перетаскивания объектов.

Задача 1 – создание тестовой базы данных в SQL Azure

1. Подключитесь к расположенной в SQL Azure базе данных HoLTestDB, используя созданную ранее учетную запись HoLUser. Вы можете использовать как SQL Server Management Studio, так и веб-приложение Database Manager for SQL Azure.

2. Если вы используете SQL Server Management Studio, выберите пункт Open | File в меню File, перейдите в подкаталог Source\Assets из каталога с материалами к лабораторной работе. Если вы работаете с приложением Database Manager for SQL Azure, выберите закладку Database в верхнем левом углу и нажмите кнопку Open Query на панели File. Выберите файл AdventureWorks2008LT_Azure.sql и нажмите кнопку Open.

Внимание: данный скрипт содержит облегченную версию базы данных AdventureWorksLT2008, доступную для скачивания с сайта Codeplex.com

29 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 30: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

(http://msftdbprodsamples.codeplex.com/). Там содержится эта и другие тестовые базы для SQL Azure.

3. Выполните запрос; это может занять некоторое время.

Задача 2 – создание проекта в Visual Studio

В этой задаче вы создадите в Visual Studio новый проект – веб-приложение для Windows Azure.

1. Запустите Microsoft Visual Studio 2010 от имени администратора. Для этого в меню Start | All Programs | Microsoft Visual Studio 2010 щелкните правой кнопкой мыши по ярлыку Microsoft Visual Studio 2010 и выберите Run as Administrator.

2. В случае появления диалога User Account Control нажмите кнопку Continue.

3. В меню File выберите пункты New, затем Project.

4. В диалоге New Project разверните соответствующий предпочитаемому языку узел (Visual C# или Visual Basic) и выберите вариант Cloud на панели Installed Templates.

5. В списке шаблонов укажите Windows Azure Project. Установите имя для создаваемого проекта - “AdventureWorks” и местоположение - каталог Source\Ex3-BuildingSQLAzureApp в каталоге с материалами к лабораторной работе. Убедитесь в том, что установлен флажок Create directory for solution и установите имя решения в “Begin”. Нажмите кнопку OK для создания проекта.

Рисунок 32

30 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 31: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Создание нового проекта для Windows Azure (C#)

Рисунок 33Создание нового проекта для Windows Azure (Visual Basic)

6. В диалоге New Windows Azure Project на панели Roles раскройте закладку, соответствующую предпочитаемому вами языку (Visual C# или Visual Basic), выберите из списка тип роли ASP.NET Web Role и нажмите кнопку с указывающей вправо стрелкой (>), чтобы добавить экземпляр роли данного типа в решение. Перед тем, как закрыть данный диалог, выберите добавленную роль в правой панели, нажмите на пиктограмме с изображением карандаша и переименуйте роль в AdventureWorksWeb. Нажмите кнопку OK для создания решения.

31 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 32: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 34Добавление ролей в проект для Windows Azure (C#)

Рисунок 35Добавление ролей в проект для Windows Azure (VB)

32 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 33: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

7. После завершения создания шаблона проекта должно отобразиться содержимое страницы Default.aspx. Если этого не произошло, откройте указанный файл.

8. Перейдите в режим Design View, для чего нажмите кнопку Design.

9. Перетащите элемент управления GridView из раздела Data панели инструментов Toolbox на страницу.

Рисунок 36Добавление элемента управления GridView

10. Используя SmartTag (кнопка со стрелкой в верхнем правом углу) добавленного элемента управления GridView, выберите в раскрывающемся списке Choose Data Source пункт New data source.

Рисунок 37Создание нового источника данных

33 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 34: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

11. В мастере Data Source Configuration Wizard выберите источник данных Database. Не меняйте предлагаемый идентификатор и нажмите кнопку OK.

Рисунок 38Выбор источника данных

12. На диалоге Configure Data Source нажмите кнопку New Connection.

34 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 35: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 39Создание нового подключения

13. Если отобразится диалог Choose data source, выберите Microsoft SQL Server и нажмите кнопку Continue.

14. Теперь сконфигурируйте подключение к базе данных SQL Azure. Убедитесь, что в диалоге Add Connection указан провайдер Microsoft SQL Server (SqlClient). Если потребуется изменить, выберите Microsoft SQL Server в списке Data Source и .NET Framework Data Provider for SQL Server в раскрывающемся списке Data Provider. Установите значение поля Server name равным имени вашего сервера SQL Azure. Измените тип аутентификации на Use SQL Server Authentication и укажите реквизиты для подключения к SQL Azure. В списке доступных баз данных выберите HoLTestDB.

35 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 36: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 40Настройка подключения к SQL Azure и базе данных HolTestDB

15. Нажмите кнопку Test Connection. Если все указано верно, вы увидите диалог, информирующий об успешном подключении. Нажмите кнопку OK.

Рисунок 4136 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙

Основы разработки с SQL Azure.

Page 37: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Уведомление об успешном подключении

16. Нажмите кнопку OK, чтобы закрыть диалог Add Connection.

17. Нажмите кнопку Next для перехода к следующему шагу мастера Data Source Configuration Wizard.

18. Убедитесь в том, что установлен флажок Yes, save this connection as, установите имя строки подключения в AdventureWorksLTConnectionString и нажмите кнопку Next.

Рисунок 42Сохранение строки подключения в конфигурационном файле приложения

19. Установите переключатель в значение Specify a custom SQL statement or stored procedure и нажмите кнопку Next.

37 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 38: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 43Использование SQL выражения для выполнения запросов данных

Внимание: использование опции Specify columns from a table or view невозможно, так как в AdventureWorks используется именованная схема SalesLT – на нее необходимо ссылаться явно.

20. Вставьте приведенный ниже запрос в поле SQL Statement и нажмите кнопку Next.

T-SQL

SELECT [FirstName], [LastName], [CompanyName], [EmailAddress] FROM [SalesLT].[Customer]

38 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 39: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 44Ввод собственного SQL запроса

21. Нажмите кнопку Test Query. Вы должны увидеть результат запроса.

39 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 40: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 45Проверка запроса к базе данных

22. Нажмите кнопку Finish.

23. Нажмите кнопку F5 для локального запуска приложения.

24. После запуска приложения в браузере вы увидите список заказчиков:

40 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 41: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 46Веб-приложение, отображающее список заказчиков из базы данных

25. Закройте окно браузера.

4: Упражнение работа с использованием различных

механизмов доступаВ этом упражнении вы получите навыки выполнения простых операций при работе с базами данных SQL Azure с использованием ADO.NET, ODBC, OLEDB и технологии LINQ to SQL. Кроме того, вы увидите, как организовать доступ к находящимся в SQL Azure данным из кода на Java и PHP.41 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙

Основы разработки с SQL Azure.

Page 42: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

При работе с технологиями от Microsoft вы увидите, что взаимодействие с базой данных SQL Azure не отличается от работы с привычным SQL Server. Основное отличие заключается в формате строки подключения, используемой для создания соединения с SQL Azure. После установления соединения запросы можно выполнять с помощью любого класса, наследующего от DbCommand.

Задача 1 –открытие заготовки решения и изучение общей функциональности

Используя различные подходы, вы подключитесь к базе данных SQL Azure и выполните некоторые операции над данными. Чтобы не тратить время на реализацию простейших операций, вы возьмете за основу проект, в котором уже содержится эта функциональность – это позволит сосредоточиться на более сложных вопросах и подчеркнет отличия предлагаемых для рассмотрения технологий.

В этой задаче вы откроете решение ConnectDemoApp и изучите описание класса SQLAzureConnectionDemo. Затем вы создадите потомков данного класса – по одной реализации для каждой демонстрируемой технологии.

1. Запустите Microsoft Visual Studio 2010 из меню Start | All Programs | Microsoft Visual Studio 2010 | Microsoft visual Studio 2010.

2. Откройте заготовку решения для данного упражнения. Для этого выберите пункт меню File | Open Project. В диалоге Open Project перейдите в каталог Source\Ex4-ConnectingViaClientLibraries\begin внутри каталога с материалами к работе. Выберите соответствующий предпочитаемому языку каталог (C# или VB), затем откройте файл решения ConnectDemoApp.sln, находящийся в папке ConnectDemoApp. Откроется решение с приведенной ниже структурой.

Рисунок 47Структура решения Connect Demo App (C#)

42 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 43: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 48Структура решения Connect Demo App (Visual Basic)

3. Как было сказано ранее, вы создадите по одному классу для каждой рассматриваемой технологии. Каждый класс будет наследовать от абстрактного класса SQLAzureConnectionDemo, предоставляющего базовую функциональность работы с БД SQL Azure. Внутри используется провайдер, реализуемый в дочернем классе. Приведенная ниже таблица поясняет назначение всех методов данного класса:

Метод Тип Описание

Конструктор Устанавливает подключение на основании результата, возвращаемого абстрактным классом CreateConnection.

CreateConnection Abstract Реализуется в дочернем классе. Создает подключение в соответствии с выбранной технологией.

CreateCommand Abstract Реализуется в дочернем классе. Создает команду в соответствии с выбранной технологией.

GetServerName Возвращает имя сервера БД. Используется для создания подключения к БД.

ConnectToSQLAzureDemo Выполняет тестовый набор операций: получает команду (CreateCommand), после чего выполняет набор команд Execute* над базой данных.

ExecuteCreateDemoTableStatement Выполняет создание таблицы “DemoTable”.

ExecuteInsertTestDataStatement Добавляет запись в таблицу “DemoTable”.

ExecuteReadInsertedTestData Извлекает данные и вызывает метод ReadData, чтобы вывести результаты в консоль.

43 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 44: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

ReadData Читает данные из таблицы и отображает в консоли.

ExecuteDropDemoTable Удаляет таблицу “DemoTable” из базы данных.

Обратите внимание, что в дочерних классах необходимо и достаточно переопределить только методы CreateConnection и CreateCommand.

Задача 2 – подключение к SQL Azure с использованием ADO.NET

В этой задаче вы создадите наследующий от SQLAzureConnectionDemo класс и реализуете функциональность для работы с SQL Azure с использованием ADO.NET.

1. Добавьте в проект новый класс AdoConnectionDemo. Для этого щелкните правой кнопкой на проекте ConnectDemoApp в панели Solution Explorer и выберите Add | Class. В диалоге Add New Item выберите шаблон Class и измените имя на AdoConnectionDemo.cs и AdoConnectionDemo.vb в зависимости от выбранного языка.

2. Добавьте в класс объявления пространств имен:

C#

using System.Data.Common;using System.Data.SqlClient;

Visual Basic

Imports System.Data.CommonImports System.Data.SqlClient

3. Обновите объявление класса, сделав его открытым и наследующим от SQLAzureConnectionDemo. Результат представлен ниже:

Внимание: В Visual Basic новый класс всегда создается как Public.

C#

public class AdoConnectionDemo : SQLAzureConnectionDemo{}

Visual Basic

44 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 45: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Public Class AdoConnectionDemo Inherits SQLAzureConnectionDemo

End Class

4. Добавьте конструктор, передающий реквизиты в конструктор базового класса:

(Code Snippet – Intro to SQL Azure – Ex4 ADO constructor – C#)

C#

public AdoConnectionDemo(string userName, string password, string dataSource, string databaseName) : base(userName, password, dataSource, databaseName){}

(Code Snippet – Intro to SQL Azure – Ex4 ADO constructor – VB)

Visual Basic

Public Sub New(ByVal userName As String, ByVal password As String, ByVal dataSource As String, ByVal databaseName As String) MyBase.New(userName, password, dataSource, databaseName)End Sub

5. Переопределите метод CreateConnection для создания объекта типа SqlConnection:

(Code Snippet – Intro to SQL Azure – Ex4 ADO CreateConnection – C#)

C#

protected override DbConnection CreateConnection(string userName, string password, string dataSource, string databaseName){ return new SqlConnection(CreateAdoConnectionString(userName, password, dataSource, databaseName));}

(Code Snippet – Intro to SQL Azure – Ex4 ADO CreateConnection – VB)

Visual Basic

Protected Overrides Function CreateConnection(ByVal userName As String, ByVal password As String, ByVal dataSource As String, ByVal databaseName As String) As DbConnection Return New SqlConnection(CreateAdoConnectionString(userName, password, dataSource, databaseName))End Function

45 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 46: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

6. Реализуйте метод CreateAdoConnectionString, используемый методом CreateConnection. Он конструирует строку подключения ADO.NET, для чего использует возможности класса SqlConnectionStringBuilder.

(Code Snippet – Intro to SQL Azure – Ex4 ADO CreateAdoConnectionString method – C#)

C#

private string CreateAdoConnectionString(string userName, string password, string dataSource, string databaseName){ // create a new instance of the SQLConnectionStringBuilder SqlConnectionStringBuilder connectionStringBuilder = new SqlConnectionStringBuilder { DataSource = dataSource, InitialCatalog = databaseName, Encrypt = true, TrustServerCertificate = false, UserID = userName, Password = password, };

return connectionStringBuilder.ToString();}

(Code Snippet – Intro to SQL Azure – Ex4 ADO CreateAdoConnectionString method – VB)

Visual Basic

Private Function CreateAdoConnectionString(ByVal userName As String, ByVal password As String, ByVal dataSource As String, ByVal databaseName As String) As String ' create a new instance of the SQLConnectionStringBuilder Dim connectionStringBuilder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder With {.DataSource = dataSource, .InitialCatalog = databaseName, .Encrypt = True, .TrustServerCertificate = False, .UserID = userName, .Password = password} Return connectionStringBuilder.ToString()End Function

7. Переопределите метод CreateCommand для создания команды ADO.NET. Этот абстрактный метод вызывается из родительского класса.

(Code Snippet – Intro to SQL Azure – Ex4 ADO CreateCommand method – C#)

C#46 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙

Основы разработки с SQL Azure.

Page 47: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

protected override DbCommand CreateCommand(DbConnection connection){ return new SqlCommand() { Connection = connection as SqlConnection };}

(Code Snippet – Intro to SQL Azure – Ex4 ADO CreateCommand method – VB)

Visual Basic

Protected Overrides Function CreateCommand(ByVal connection As DbConnection) As DbCommand Return New SqlCommand() With {.Connection = TryCast(connection, SqlConnection)}End Function

Это все, что необходимо сделать для поддержки ADO.NET. Теперь внесите некоторые изменения в файл Program.cs или Module1.vb (в зависимости от выбранного языка) для проверки добавленной функциональности.

8. Откройте файл Program.cs (для проекта на Visual C#) или Module1.vb (для проекта на Visual Basic), дважды щелкнув на нем в панели Solution Explorer.

9. Добавьте в метод Main код, создающий экземпляр класса AdoConnectionDemo и выполняющий тестовый пример.

(Code Snippet – Intro to SQL Azure – Ex4 ADO demo implementation – C#)

C#

static void Main(string[] args){ //Invoke the ADO.NET connection demo Console.WriteLine("Starting the ADO.NET Connection Demo..."); AdoConnectionDemo demo1 = new AdoConnectionDemo(userName, password, datasource, databaseName); demo1.ConnectToSQLAzureDemo(); Console.WriteLine("Demo Complete... Press any key"); Console.ReadKey();}

(Code Snippet – Intro to SQL Azure – Ex4 ADO demo implementation – VB)

Visual Basic

Sub Main() ' Invoke the ADO.NET connection demo Console.WriteLine("Starting the ADO.NET Connection Demo...") Dim demo1 = New AdoConnectionDemo(_userName, _password, _datasource, _databaseName)

47 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 48: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

demo1.ConnectToSQLAzureDemo() Console.WriteLine("Demo Complete... Press any key") Console.ReadKey()End Sub

10. Найдите над методом Main объявления переменных и обновите их значения в соответствии с реквизитами учетной записи SQL Azure.

Рисунок 49Настройка параметров подключения к SQL Azure (C#)

Рисунок 50Настройка параметров подключения к SQL Azure (Visual Basic)

11. Нажмите F5 для запуска приложения. В консоли должен отобразиться результат выполнения запросов.

Рисунок 5148 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙

Основы разработки с SQL Azure.

Page 49: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Результат выполнения с использованием технологии ADO.NET

Задача 3 – подключение к SQL Azure с использованием ODBC

В этой задаче вы создадите наследующий от SQLAzureConnectionDemo класс и реализуете функциональность для работы с SQL Azure с использованием ODBC.

1. Добавьте в проект новый класс OdbcConnectionDemo. Для этого щелкните правой кнопкой на проекте ConnectDemoApp в панели Solution Explorer и выберите Add | Class. В диалоге Add New Item выберите шаблон Class и измените имя на OdbcConnectionDemo.cs или OdbcConnectionDemo.vb в зависимости от выбранного языка.

2. Добавьте в класс объявления пространств имен:

C#

using System.Data.Common;using System.Data.Odbc;

Visual Basic

Imports System.Data.CommonImports System.Data.Odbc

3. Обновите объявление класса, сделав его открытым и наследующим от SQLAzureConnectionDemo. Результат представлен ниже:

Внимание: В Visual Basic новый класс всегда создается как Public.

C#

public class OdbcConnectionDemo : SQLAzureConnectionDemo{}

Visual Basic

Public Class OdbcConnectionDemo Inherits SQLAzureConnectionDemo

End Class

4. Добавьте конструктор, передающий реквизиты в конструктор базового класса:

49 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 50: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

(Code Snippet – Intro to SQL Azure – Ex4 ODBC constructor – C#)

C#

public OdbcConnectionDemo(string userName, string password, string dataSource, string databaseName): base (userName, password, dataSource, databaseName){}

(Code Snippet – Intro to SQL Azure – Ex4 ODBC constructor – VB)

Visual Basic

Public Sub New(ByVal userName As String, ByVal password As String, ByVal dataSource As String, ByVal databaseName As String) MyBase.New(userName, password, dataSource, databaseName)End Sub

5. Переопределите метод CreateConnection для создания объекта типа SqlConnection:

(Code Snippet – Intro to SQL Azure – Ex4 ODBC CreateConnection – C#)

C#

protected override DbConnection CreateConnection(string userName, string password, string dataSource, string databaseName){ return new OdbcConnection(CreateOdbcConnectionString(userName, password, dataSource, databaseName));}

(Code Snippet – Intro to SQL Azure – Ex4 ODBC CreateConnection – VB)

Visual Basic

Protected Overrides Function CreateConnection(ByVal userName As String, ByVal password As String, ByVal dataSource As String, ByVal databaseName As String) As DbConnection Return New OdbcConnection(CreateOdbcConnectionString(userName, password, dataSource, databaseName))End Function

6. Реализуйте метод CreateOdbcConnectionString, используемый методом CreateConnection. Этот метод создает строку подключения для ODBC-драйвера. Предлагаемая реализация использует драйвер SQL Server Native Client 10.0. Вы можете указать необходимость использования другого драйвера ODBC.

50 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 51: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

(Code Snippet – Intro to SQL Azure – Ex4 ODBC CreateOdbcConnectionString method – C#)

C#

private string CreateOdbcConnectionString(string userName, string password, string dataSource, string databaseName){ string serverName = GetServerName(dataSource);

OdbcConnectionStringBuilder connectionStringBuilder = new OdbcConnectionStringBuilder { Driver = "SQL Server Native Client 10.0", }; connectionStringBuilder["Server"] = "tcp:" + dataSource; connectionStringBuilder["Database"] = databaseName; connectionStringBuilder["Uid"] = userName + "@" + serverName; connectionStringBuilder["Pwd"] = password; return connectionStringBuilder.ConnectionString;}

(Code Snippet – Intro to SQL Azure – Ex4 ODBC CreateOdbcConnectionString method – VB)

Visual Basic

Private Function CreateOdbcConnectionString(ByVal userName As String, ByVal password As String, ByVal dataSource As String, ByVal databaseName As String) As String Dim serverName As String = GetServerName(dataSource)

Dim connectionStringBuilder As OdbcConnectionStringBuilder = New OdbcConnectionStringBuilder With {.Driver = "SQL Server Native Client 10.0"} connectionStringBuilder("Server") = "tcp:" & dataSource connectionStringBuilder("Database") = databaseName connectionStringBuilder("Uid") = userName & "@" & serverName connectionStringBuilder("Pwd") = password Return connectionStringBuilder.ConnectionStringEnd Function

7. Переопределите метод CreateCommand для создания команды OdbcCommand. Этот абстрактный метод вызывается из родительского класса.

(Code Snippet – Intro to SQL Azure – Ex4 ODBC CreateCommand method – C#)

C#

protected override DbCommand CreateCommand(DbConnection connection){

51 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 52: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

return new OdbcCommand() { Connection = connection as OdbcConnection };}

(Code Snippet – Intro to SQL Azure – Ex4 ODBC CreateCommand method – VB)

Visual Basic

Protected Overrides Function CreateCommand(ByVal connection As DbConnection) As DbCommand Return New OdbcCommand() With {.Connection = TryCast(connection, OdbcConnection)}End Function

Это все, что необходимо сделать для работы с использованием ODBC. Теперь внесите некоторые изменения в файл Program.cs или Module1.vb (в зависимости от выбранного языка) для проверки добавленной функциональности.

8. Откройте файл Program.cs (для проекта на Visual C#) или Module1.vb (для проекта на Visual Basic), дважды щелкнув на нем в панели Solution Explorer.

9. Добавьте в метод Main код, создающий экземпляр класса OdbcConnectionDemo и выполняющий тестовый пример.

(Code Snippet – Intro to SQL Azure – Ex4 ODBC demo implementation – C#)

C#

static void Main(string[] args){ //...

//Invoke the ODBC connection demo Console.WriteLine("Starting the ODBC Connection Demo..."); OdbcConnectionDemo demo2 = new OdbcConnectionDemo(userName, password, datasource, databaseName); demo2.ConnectToSQLAzureDemo(); Console.WriteLine("Demo Complete... Press any key"); Console.ReadKey();}

(Code Snippet – Intro to SQL Azure – Ex4 ODBC demo implementation – VB)

Visual Basic

Sub Main() ' ...

' Invoke the ODBC connection demo

52 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 53: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Console.WriteLine("Starting the ODBC Connection Demo...") Dim demo2 = New OdbcConnectionDemo(_userName, _password, _datasource, _databaseName) demo2.ConnectToSQLAzureDemo() Console.WriteLine("Demo Complete... Press any key") Console.ReadKey()End Sub

10. Если вы не сделали этого ранее, найдите над методом Main объявления переменных и обновите их значения в соответствии с реквизитами учетной записи SQL Azure.

11. Нажмите F5 для запуска приложения. В консоли должен отобразиться результат выполнения запросов.

Рисунок 52Результат выполнения с использованием ODBC

Задача 4 – подключение к SQL Azure с использованием OLEDB

В этой задаче вы создадите наследующий от SQLAzureConnectionDemo класс и реализуете функциональность для работы с SQL Azure с использованием OLEDB.

1. Добавьте в проект новый класс OleDbConnectionDemo. Для этого щелкните правой кнопкой на проекте ConnectDemoApp в панели Solution Explorer и выберите Add | Class. В диалоге Add New Item выберите шаблон Class и измените имя на OleDbConnectionDemo.cs или OleDbConnectionDemo.vb в зависимости от выбранного языка.

2. Добавьте в класс объявления пространств имен:

C#

53 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 54: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

using System.Data.Common;using System.Data.OleDb;

Visual Basic

Imports System.Data.CommonImports System.Data.OleDb

3. Обновите объявление класса, сделав его открытым и наследующим от SQLAzureConnectionDemo. Результат представлен ниже:

Внимание: В Visual Basic новый класс всегда создается как Public.

C#

public class OleDbConnectionDemo : SQLAzureConnectionDemo{}

Visual Basic

Public Class OleDbConnectionDemo Inherits SQLAzureConnectionDemo

End Class

4. Добавьте конструктор, передающий реквизиты в конструктор базового класса:

(Code Snippet – Intro to SQL Azure – Ex4 OLEDB constructor – C#)

C#

public OleDbConnectionDemo(string userName, string password, string dataSource, string databaseName) : base(userName, password, dataSource, databaseName){}

(Code Snippet – Intro to SQL Azure – Ex4 OLEDB constructor – VB)

Visual Basic

Public Sub New(ByVal userName As String, ByVal password As String, ByVal dataSource As String, ByVal databaseName As String) MyBase.New(userName, password, dataSource, databaseName)End Sub

54 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 55: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

5. Переопределите метод CreateConnection для создания объекта типа OleDbConnection:

(Code Snippet – Intro to SQL Azure – Ex4 OLEDB CreateConnection – C#)

C#

protected override DbConnection CreateConnection(string userName, string password, string dataSource, string databaseName){ return new OleDbConnection(CreateOleDBConnectionString(userName, password, dataSource, databaseName));}

(Code Snippet – Intro to SQL Azure – Ex4 OLEDB CreateConnection – VB)

Visual Basic

Protected Overrides Function CreateConnection(ByVal userName As String, ByVal password As String, ByVal dataSource As String, ByVal databaseName As String) As DbConnection Return New OleDbConnection(CreateOleDBConnectionString(userName, password, dataSource, databaseName))End Function

6. Реализуйте метод CreateOleDbConnectionString, используемый методом CreateConnection. Этот метод создает строку подключения для OLEDB.

(Code Snippet – Intro to SQL Azure – Ex4 OLEDB CreateOleDbConnectionString method – C#)

C#

private string CreateOleDBConnectionString(string userName, string password, string dataSource, string databaseName){ string serverName = GetServerName(dataSource);

OleDbConnectionStringBuilder connectionStringBuilder = new OleDbConnectionStringBuilder { Provider = "SQLOLEDB", DataSource = dataSource, }; connectionStringBuilder["Initial Catalog"] = databaseName; connectionStringBuilder["UId"] = userName + "@" + serverName; connectionStringBuilder["Pwd"] = password;

return connectionStringBuilder.ConnectionString;}

55 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 56: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

(Code Snippet – Intro to SQL Azure – Ex4 OLEDB CreateOleDbConnectionString method – VB)

Visual Basic

Private Function CreateOleDBConnectionString(ByVal userName As String, ByVal password As String, ByVal dataSource As String, ByVal databaseName As String) As String Dim serverName As String = GetServerName(dataSource)

Dim connectionStringBuilder As OleDbConnectionStringBuilder = New OleDbConnectionStringBuilder With {.Provider = "SQLOLEDB", .DataSource = dataSource} connectionStringBuilder("Initial Catalog") = databaseName connectionStringBuilder("UId") = userName & "@" & serverName connectionStringBuilder("Pwd") = password

Return connectionStringBuilder.ConnectionStringEnd Function

7. Переопределите метод CreateCommand для создания команды OleDbCommand. Этот абстрактный метод вызывается из родительского класса.

(Code Snippet – Intro to SQL Azure – Ex4 OLEDB CreateCommand method – C#)

C#

protected override DbCommand CreateCommand(DbConnection connection){ return new OleDbCommand() { Connection = connection as OleDbConnection };}

(Code Snippet – Intro to SQL Azure – Ex4 OLEDB CreateCommand method – VB)

Visual Basic

Protected Overrides Function CreateCommand(ByVal connection As DbConnection) As DbCommand Return New OleDbCommand() With {.Connection = TryCast(connection, OleDbConnection)}End Function

Это все, что необходимо сделать для работы с использованием OLEDB. Теперь внесите некоторые изменения в файл Program.cs или Module1.vb (в зависимости от выбранного языка) для проверки добавленной функциональности.

56 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 57: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

8. Откройте файл Program.cs (для проекта на Visual C#) или Module1.vb (для проекта на Visual Basic), дважды щелкнув на нем в панели Solution Explorer.

9. Добавьте в метод Main код, создающий экземпляр класса OleDbConnectionDemo и выполняющий тестовый пример.

(Code Snippet – Intro to SQL Azure – Ex4 OLEDB demo implementation – C#)

C#

static void Main(string[] args){ //...

//Invoke the OleDB connection demo Console.WriteLine("Starting the OLEDB Connection Demo…"); OleDbConnectionDemo demo3 = new OleDbConnectionDemo(userName, password, datasource, databaseName); demo3.ConnectToSQLAzureDemo(); Console.WriteLine("Demo Complete... Press any key"); Console.ReadKey();}

(Code Snippet – Intro to SQL Azure – Ex4 OLEDB demo implementation – VB)

Visual Basic

Sub Main() ' ...

' Invoke the OleDB connection demo Console.WriteLine("Starting the OLEDB Connection Demo...") Dim demo3 = New OleDbConnectionDemo(_userName, _password, _datasource, _databaseName) demo3.ConnectToSQLAzureDemo() Console.WriteLine("Demo Complete... Press any key") Console.ReadKey()End Sub

10. Если вы не сделали этого ранее, найдите над методом Main объявления переменных и обновите их значения в соответствии с реквизитами учетной записи SQL Azure.

11. Нажмите F5 для запуска приложения. В консоли должен отобразиться результат выполнения запросов.

57 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 58: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 53Результат выполнения с использованием OLEDB

Задача 5 – подключение к SQL Azure с использованием Entity Framework

Вы подключились к базе данных SQL Azure с использованием трех технологий. Последнее, что вы попробуете, будет использование Entity Framework. Реализация классов в данном случае не будет наследовать от SQLAzureConnectionDemo, так как при использовании Entity Framework отсутствует явное управление подключениями и командами; все эти объекты создаются неявно для пользователя.

1. Откройте файл App.config и измените строку подключения таким образом, чтобы ссылаться на базу данных SQL Azure с использованием реквизитов созданного ранее пользователя.

Внимание: выполнение этого шага является обязательным, так как Entity Framework извлекает информацию для создания подключения из конфигурационного файла.

2. Добавьте в проект новый элемент ADO.NET Entity Data Model с именем HoLModel. Для этого щелкните правой кнопкой на узле проекта ConnectDemoApp в панели Solution Explorer. Выберите пункт меню Add | New Item. В диалоге Add New Item выберите шаблон ADO.NET Entity Data Model и измените имя на HoLModel.edmx.

58 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 59: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 54Добавление модели EF

3. В мастере Entity Data Model Wizard выберите пункт Generate from database и нажмите кнопку Next.

59 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 60: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 55Выбор исходных данных для создания модели

4. На шаге Choose Your Data Connection выберите пункт Yes, include sensitive data in the connection string и оставьте значения всех настроек по умолчанию.

60 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 61: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 56Указание настроек модели

5. На шаге Choose Your Database Objects выберите все объекты и нажмите кнопку Finish .

61 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 62: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 57Выбор объектов базы данных

6. После завершения создания модели она будет показана.

62 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 63: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Рисунок 58EF-модель создана

7. Добавьте в проект новый класс EFConnectionDemo. Для этого щелкните правой кнопкой на проекте ConnectDemoApp в панели Solution Explorer и выберите Add | Class. В диалоге Add New Item выберите шаблон Class и измените имя на EFConnectionDemo.cs или EFConnectionDemo.vb в зависимости от выбранного языка.

8. Обновите объявление класса, сделав его открытым:

C#

public class EFConnectionDemo {}

Visual Basic

Public Class EFConnectionDemo

End Class

63 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 64: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

9. Только для проекта на C#, добавьте объявления следующих пространств имен:

C#

using System;using System.Linq;

10. Добавьте в класс EFConnectionDemo метод, извлекающий из базы данных названия компаний и выводящий их на консоль. Воспользуетесь для этого возможностями класса EF HolTestDBEntities.

(Code Snippet – Intro to SQL Azure – Ex4 EF ConnectToSQLAzure method – C#)

C#

/// <summary>/// HolTestDBEntities takes care of handling your transactions for you/// leaving you free use Linq to extract information stores up in the cloud/// </summary>public void ConnectToSQLAzureDemo(){ HolTestDBEntities context = new HolTestDBEntities();

IQueryable<string> companyNames = from customer in context.Customers where customer.CustomerID < 20 select customer.CompanyName; foreach (var company in companyNames) { Console.WriteLine(company); }}

(Code Snippet – Intro to SQL Azure – Ex4 EF ConnectToSQLAzure method – VB)

Visual Basic

''' <summary>''' HolTestDBEntities takes care of handling your transactions for you''' leaving you free you use Linq to extraxt information stored up in the cloud.''' </summary>Public Sub ConnectToSQLAzureDemo() Dim context As New HolTestDBEntities()

' get all company names

64 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 65: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

Dim companyNames As IQueryable(Of String) = From customer In context.Customers _ Where customer.CustomerID < 20 _ Select customer.CompanyName

' display these all on the console For Each company As String In companyNames Console.WriteLine(company) Next companyEnd Sub

11. Теперь внесите некоторые изменения в файл Program.cs или Module1.vb (в зависимости от выбранного языка) для проверки добавленной функциональности.

(Code Snippet – Intro to SQL Azure – Ex4 EF demo implementation – C#)

C#

static void Main(string[] args){ //...

//Invoke the Entity Framework connection demo Console.WriteLine("Starting the Entity Framework Connection Demo..."); EFConnectionDemo demo4 = new EFConnectionDemo(); demo4.ConnectToSQLAzureDemo(); Console.WriteLine("Demo Complete... Press any key"); Console.ReadKey();}

(Code Snippet – Intro to SQL Azure – Ex4 EF demo implementation – VB)

Visual BasicSub Main() ' ...

' Invoke the Entity Framework connection demo Console.WriteLine("Starting the Entity Framework Connection Demo...") Dim demo4 = New EFConnectionDemo() demo4.ConnectToSQLAzureDemo() Console.WriteLine("Demo Complete... Press any key") Console.ReadKey()End Sub

65 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 66: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

12. Нажмите F5 для запуска приложения. В консоли должен отобразиться результат – длинный перечень названий компаний, извлеченный из БД средствами Entity Framework.

Рисунок 59Результат выполнения с использованием функциональности Entity Framework

Задача 6 – подключение к SQL Azure с использованием сторонних технологий

Подключение к базе данных SQL Azure с использованием сторонних технологий также просто.

Приведенный ниже фрагмент кода на PHP, как и один из примеров выше, использует драйвер SQL Server Native Client ODBC.

PHP

<?php  $host = "server.database.windows.net";  $dbname = "database";  $dbuser = "user@server";  $dbpwd = "password";  $driver = "{SQL Server Native Client 10.0}";

// Build connection string  $dsn="Driver=$driver;Server=$host;Database=$dbname;Encrypt=true;TrustServerCertificate=true";  if (!($conn = @odbc_connect($dsn, $dbuser, $dbpwd))) {      die("Connection error: " . odbc_errormsg());  }   // Got a connection, do what you will 

66 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 67: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

  // Free the connection  @odbc_close($conn);?>

Ниже приведен пример подключения к SQL Azure с использованием JDBC.

JAVA

// Build a connection stringString connectionUrl= "jdbc:sqlserver://server.database.windows.net;" + "database=mydatabase;encrypt=true;user=user@server;password=*****";

// Next, make the sure the SQL Server Driver is loaded. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // Then attempt to get a connection. This will null or throw if we can't get a connection.

Connection sqlConn = DriverManager.getConnection(connectionUrl);if (sqlConn == null){ System.out.println("Unable to obtain connection. exiting"); System.exit(1);}

// Got a connection, do what you will

// Free the connection

sqlConn.close();

РезультатВ этой работы вы познакомились с базовыми принципами работы с SQL Azure. Если у вас ранее был опыт работы с СУБД MS SQL Server, выполнение ряда задач должно было показаться вам знакомым. Важно, что использование SQL Azure позволяет применить навыки, полученные ранее в ходе работы с SQL Server.

Вы научились создавать базы данных, учетные записи и пользователей базы данных. Вы увидели, что по большей части работа с объектами SQL Azure не отличается от работы с SQL Server.

Кроме того, вы создали простое приложение для Windows Azure, умеющее взаимодействовать с базой данных SQL Azure.

67 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.

Page 68: Основы разработки с SQL Azuredownload.microsoft.com/.../wa_labs/PBC202ILL.SQL_A… · Web viewSQL Azure является реализацией СУБД Microsoft

И, наконец, убедились, что создание подключений к базе данных SQL Azure с использованием различных технологий доступа от Microsoft не отличается от создания подключений к традиционным реляционным базам данных.

68 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с SQL Azure.