Поделиться через


Пошаговое руководство. Создание и развертывание проекта базы данных, в котором используется объект SQL CLR

Для создания и развертывания базы данных, в которой используется сборка среды SQL CLR SQL Server, следует создать проект базы данных и проект SQL CLR. Одновременно с построением и развертыванием проекта базы данных автоматически выполняется развертывание сборки SQL CLR, на которую он ссылается.

В данном пошаговом руководстве будут выполнены следующие задачи.

  • Создание простого проекта базы данных.

  • Создание проекта SQL CLR и определение нового типа данных.

  • Использование типа, определенного в сборке SQL CLR.

  • Построение и развертывание проекта базы данных.

Обязательные компоненты

Для выполнения этого пошагового руководства потребуется установить Visual Studio 2010 Premium. Необходим доступ к экземпляру SQL Server 2005 или SQL Server 2008. Необходимо установить образцы кода для SQL Server с веб-сайта CodePlex. Для развертывания базы на сервере баз данных необходимы соответствующие разрешения.

Создайте проект базы данных

Создание проекта базы данных

  1. В меню Файл последовательно выберите команды Создать и Проект.

    Отобразится диалоговое окно Новый проект.

  2. В области Установленные шаблоны разверните узел База данных и щелкните узел SQL Server.

    Примечание

    Если используется Visual Studio 2010 Professional, необходимо также развернуть узел Дополнительно, прежде чем щелкнуть SQL Server.

  3. В списке шаблонов выберите Проект базы данных SQL Server 2008.

  4. В поле Имя введите SQLClrDatabaseSandbox.

    Важно!

    В полях Расположение и Имя решения не меняйте значения по умолчанию.

  5. Установите флажок Создать каталог для решения, если он еще не установлен.

  6. Снимите флажок Добавить в систему управления версиями, если он установлен, и нажмите кнопку ОК.

    В обозревателе решений отобразится пустой проект базы данных.

    Затем необходимо создать проект для сборки SQL CLR.

Создание проекта SQL CLR

Для создания проекта SQL CLR

  1. В меню Файл выберите Добавить и щелкните Проект.

    Отобразится диалоговое окно Новый проект.

  2. В разделе Типы проектов разверните узел База данных и щелкните SQL Server.

  3. В списке Шаблоны щелкните Проект базы данных Visual Basic SQL CLR, Проект сервера или Проект базы данных Visual C# SQL CLR.

  4. В поле Имя введите SupportingSQLClrObjects.

  5. Нажмите кнопку ОК, чтобы принять расположение по умолчанию, закрыть диалоговое окно и создать проект.

    В обозревателе решений отобразится пустой проект базы данных.

  6. В диалоговом окне Добавление ссылки на базу данных нажмите кнопку Отмена.

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

    Затем нужно создать настраиваемый тип данных в сборке SQL CLR.

Определение настраиваемого типа данных SQL CLR

  1. В меню Проект выберите команду Добавить пользовательский тип.

    Откроется диалоговое окно Добавление нового элемента.

  2. В поле Имя введите Мой_пользовательский_тип.cs.

    Откроется редактор кода с отображением содержимого файла Мой_пользовательский_тип.cs.

    Примечание

    На этом этапе следует изменить установленный по умолчанию пользовательский тип, обеспечив реализацию в соответствии со своими потребностями.В данном пошаговом руководстве принимается реализацию по умолчанию.Дополнительные сведения о том, как определять настраиваемые типы и другие объекты SQL CLR, см. в следующем разделе на веб-сайте Майкрософт: Using CLR Integration in SQL Server 2005 (на английском языке).

  3. В меню Файл выберите команду Сохранить Мой_пользовательский_тип.cs.

Настройка и построение сборки SQL CLR

  1. В меню Построение выберите Диспетчер конфигураций.

    Откроется диалоговое окно Диспетчер конфигураций.

  2. В разделе Контексты проектов снимите флажок Развернуть в строке сборки SupportingSQLClrObjects.

    Снятие этого флажка позволяет предотвратить развертывание сборки при развертывании решения. Так как сборка будет развернута с проектом базы данных, ее не нужно развертывать два раза.

  3. Нажмите кнопку Закрыть.

  4. В обозревателе решений щелкните правой кнопкой мыши проект SupportingSQLClrObjects и нажмите кнопку Построить.

    Сборка будет построена без каких-либо ошибок.

    Далее нужно добавить ссылку на новую сборку и использовать определенный в ней тип.

Использование типа, определенного в сборке SQL CLR

Для использования типа, определенного в сборке SQCLR, необходимо добавить в проекте базы данных ссылку на эту сборку. Затем следует определить тип данных в проекте базы данных, чтобы новый тип данных можно было использовать в определениях объектов.

Добавление ссылки на другую сборку SQL CLR

  1. В обозревателе решений разверните проект SQLClrDatabaseSandbox, щелкните правой кнопкой мыши узел Ссылки и выберите команду Добавить ссылку.

    Примечание

    Также можно щелкнуть проект SQLClrDatabaseSandbox в обозревателе решений, открыть меню Проект и выбрать команду Добавить ссылку.

    Откроется диалоговое окно Добавить ссылку.

  2. Убедитесь, что на вкладке Проекты выделен проект SupportingSQLClrObjects, и нажмите кнопку ОК.

    В проект базы данных будет добавлена ссылка на проект SQL CLR.

  3. В обозревателе решений разверните узел "Ссылки", щелкните узел SupportingSQLClrObjects и нажмите клавишу F4.

    Отобразятся свойства ссылки.

  4. Убедитесь, что для свойства Копировать локально задано значение Истина, а для свойства Уровень разрешенийБезопасный.

  5. В свойстве Имя сборки замените SqlClassLibrary на SupportingSQLClrObjects.

  6. В свойстве Владелец введите dbo.

    Можно указать другого владельца.

  7. В меню Файл выберите команду Сохранить все.

    Указанные свойства позволяют управлять оператором CREATE ASSEMBLY, создаваемым при построении проекта.

    Затем следует определить тип данных, в котором используется сборка, созданная проектом SQL CLR.

Определение нового типа данных

  1. В меню Вид выберите команды Список ошибок и Представление схемы базы данных.

  2. Разверните последовательно узлы SQLClrDatabaseSandbox, "Схемы", dbo и "Возможность программирования".

  3. Щелкните правой кнопкой мыши узел "Типы", подведите указатель к пункту Добавить и щелкните Пользовательский тип CLR.

    Откроется диалоговое окно Добавление нового элемента.

  4. В поле Шаблоны убедитесь, что выделен пункт Пользовательский тип (CLR).

  5. В поле Имя введите Мой_пользовательский_тип и нажмите кнопку Добавить.

    Откроется редактор Transact-SQL с отображением определения типа. В окне Список ошибок отобразится следующая ошибка:

SR0029 : Microsoft.Validation : User Defined Type: [dbo].[MyCustomType] has an unresolved reference to Assembly [assembly_name]
  1. В редакторе Transact-SQL обновите код следующим образом:

    CREATE TYPE [dbo].[MyCustomType]
    EXTERNAL NAME [SupportingSQLClrObjects].[MyCustomType]
    
  2. В меню Файл выберите команду Сохранить Мой_пользовательский_тип.udtclr.sql.

    В окне Список ошибок соответствующая ошибка исчезнет, так как было обновлено определение типа, и оно теперь ссылается на допустимую сборку и класс.

    Далее следует определить простую таблицу, использующую новый тип данных.

Использование нового типа данных в определении таблицы

  1. В Представлении схемы откройте узел "Схемы", а затем узел dbo.

  2. Щелкните правой кнопкой мыши узел "Таблицы" и выберите последовательно пункты Добавить и Таблица.

    Откроется диалоговое окно Добавление нового элемента.

  3. В области Шаблоны убедитесь, что выделен пункт Таблица.

  4. В поле Имя введите Пример_таблицы и нажмите кнопку Добавить.

    Откроется редактор Transact-SQL с отображением определения таблицы.

  5. В редакторе Transact-SQL обновите код следующим образом:

    CREATE TABLE [dbo].[SimpleTable]
    (
    column_1 int NOT NULL, 
    column_2 [dbo].[MyCustomType] NULL
    )
    
  6. В меню Файл выберите Сохранить dbo.Пример_таблицы.table.sql.

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

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

Настройка параметров построения

  1. В обозревателе решений выберите элемент SQLClrDatabaseSandbox.

  2. В меню Проект выберите команду Свойства SQLClrDatabaseSandbox.

  3. Перейдите на вкладку Построение и просмотрите параметры по умолчанию.

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

    Далее необходимо настроить параметры развертывания.

Настройка параметров развертывания

  1. Перейдите на вкладку Развертывание.

  2. В списке Действие развертывания щелкните Создать скрипт развертывания (SQL) и развернуть в базу данных.

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

    Этот параметр позволяет настроить значения, влияющие исключительно на изолированную среду разработки. При этом параметры проекта базы данных остаются неизменными.

  4. В поле Имя скрипта развертывания примите значение по умолчанию.

  5. В окне Параметры конечной базы данных нажмите кнопку Изменить, чтобы задать подключение к конечной базе данных.

  6. В диалоговом окне Свойства подключения задайте подключение к серверу и базе данных, в которой следует развернуть проект базы данных, после чего нажмите кнопку ОК.

  7. В поле Имя конечной базы данных примите значение по умолчанию.

  8. В списке Файл конфигурации развертывания выберите пункт Свойства\Database.deploymentconfig.

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

  9. В списке Файл переменных команды SQL выберите пункт Свойства\Database.sqlcmdvars.

  10. В меню Файл выберите команду Сохранить все.

    Далее следует построить проект базы данных.

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

  1. В меню Построение выберите команду Построить решение.

    Будет успешно выполнено построение проекта базы данных и проекта сборки SQL CLR.

  2. В меню Построение выберите Развернуть решение.

    Проект базы данных и сборка SQL CLR будут развернуты на целевом сервере и в базе данных, заданной в параметрах развертывания. В окне Вывод отобразится следующее сообщение:

    ========== Развертывание: успешно: 1, с ошибками: 0, пропущено: 1 ==========.

    Развертывание проекта базы данных должно пройти без ошибок. При развертывании проекта базы данных также была развернута сборка SQL CLR. Сборку SQL CLR не нужно было развертывать отдельно, поэтому она была пропущена при развертывании решения.

Предоставление рабочей группе доступа к проекту (необязательно)

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

  1. В обозревателе решений щелкните узел SQLClrDatabaseSandbox.

  2. В меню Файл выберите Система управления версиями и щелкните Добавить решение в систему управления версиями.

    На этом этапе вы взаимодействуете с установленным программным обеспечением системы управления версиями. В данном пошаговом руководстве описаны шаги добавления проекта в Visual Studio Team Foundation Server. Если нужно использовать другую систему управления версиями, замените описанные шаги эквивалентными им. Если используется Team Foundation Server, появляется диалоговое окно Подключение к Team Foundation Server.

  3. В окне Подключиться к Team Foundation Server щелкните сервер, на котором находится командный проект, в который нужно добавить решение.

    Примечание

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

  4. В Проекты группы щелкните командный проект, который нужно добавить в проект базы данных, и нажмите кнопку ОК.

    Откроется диалоговое окно Добавление решения SQLClrDatabaseSandbox в систему управления версиями.

  5. Нажмите кнопку ОК, чтобы принять значения по умолчанию.

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

  6. В меню Вид выберите команду Другие окна и щелкните Ожидающие изменения.

    Появится окно Ожидающие изменения.

  7. В поле "Примечание" введите Создание исходного проекта базы данных.

  8. В окне Ожидающие изменения на панели инструментов щелкните Вернуть.

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

Следующие действия

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

См. также

Основные понятия

Начало командной разработки баз данных

Начало командной разработки баз данных, ссылающихся на другие базы данных

Начало командной разработки баз данных, ссылающихся на объекты SQLCLR

Начало коллективной разработки баз данных, ссылающихся на общие серверные объекты

Разрешения, необходимые для функций баз данных в Visual Studio