Образец отсылки DataSet
Изменения: 5 декабря 2005 г.
Образец Send DataSet показывает, как с помощью серверной хранимой процедуры, основанной на среде CLR, возвратить клиенту в виде результирующего набора элемент DataSet, основанный на ADO .NET. Данный способ используется, например, когда хранимая процедура заполняет элемент DataSet результатами запроса, а затем манипулирует данными, содержащимися в DataSet. Также подобный подход используется при создании и заполнении DataSet с нуля.
Образец состоит из двух классов: DataSetUtilities и TestSendDataSet. Метод SendDataSet, принадлежащий к классу DataSetUtilities, представляет собой наиболее общий способ передачи содержимого экземпляра DataSet клиенту. Метод DoTest, определенный в классе TestSendDataSet, предназначен для проверяет работу метода SendDataSet. Для этого создается экземпляр DataSet, который заполняется данными, поступающими от хранимой процедуры Transact-SQL usp_GetTwoBOMTestData. Процедура usp_GetTwoBOMTestData дважды запускает процедуру Transact-SQL uspGetBillOfMaterials, чтобы выпонлить рекурсивный запрос счетов за материалы по двум видам продуктов, указанным в качестве параметров хранимой процедуры usp_GetTwoBOMTestData. Обычно, после заполнения набора данных, данные изменяются до вызова метода SendDataSet для доставки их клиенту в виде результирующего набора. В этом образце для простоты данные передаются без обработки.
Каталог установки: диск:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\SendDataSet\
Сценарий
Джейн является разработчиком базы данных Adventure Works Cycles. Она собрала данные в экземпляре DataSet одной из своих хранимых процедур, основанной на среде CLR. Теперь необходимо вернуть данные, содержащиеся в DataSet, обратно в клиентское приложение.
Языки
Transact-SQL, Visual C# и Visual Basic.
Возможности
Образец отсылки DataSet использует следующие возможности SQL Server.
Область приложения | Возможности |
---|---|
Все части |
Среда CLR, метаданные, DataSet, хранимые процедуры, CTE |
Предварительные условия
Перед запуском данного образца необходимо убедиться, что установлено следующее программное обеспечение.
- Microsoft SQL Server 2005 или Microsoft SQL Server 2005 Express Edition (SQL Server Express). SQL Server Express можно получить бесплатно на веб-узле «Документация и образцы SQL Server 2005 Express Edition».
- База данных AdventureWorks, включенная в поставку SQL Server 2005, также доступна в центре разработчиков на SQL Server.
- Образцы компонента SQL Server 2005 Database Engine. Данные образцы входят в комплект SQL Server 2005. Последнюю версию образцов можно загрузить в центре разработчиков на SQL Server.
- Пакет .NET Framework SDK 2.0 или среда Microsoft Visual Studio 2005. Пакет .NET Framework SDK можно получить бесплатно. См. раздел Установка пакета .NET Framework SDK.
Построение образца
Если файл ключа для строгого имени еще не создавался, создайте его следующим образом.
To generate a strong name key file
Откройте командную строку Microsoft Visual Studio 2005. Нажмите кнопку Пуск, укажите пункты Все программы, Microsoft .NET Framework SDK v2.0 и выберите пункт Командная строка пакета SDK.
-- или --
Откройте командную строку Microsoft .NET Framework. Нажмите кнопку Пуск, укажите пункты Все программы, Microsoft .NET Framework SDK v2.0 и выберите пункт Командная строка пакета SDK.
Используйте команду CD, чтобы сменить текущий каталог командной строки и перейти в каталог, в котором установлены образцы.
Примечание. Чтобы определить каталог, в котором установлены образцы, нажмите кнопку Пуск, укажите пункты Все программы, Microsoft SQL Server, Документация и учебные материалы, а затем выберите пункт Каталог образцов. Если использовался каталог установки по умолчанию, то образцы расположены в каталоге «<системный_диск>:\Program Files\Microsoft SQL Server\100\Samples». В командной строке выполните следующую команду, чтобы создать файл ключа:
sn -k SampleKey.snk
Важно! Дополнительные сведения о паре ключей для строгого имени см. в статье по строгим именам и безопасности для платформы .NET Framework в центре разработчиков .NET в MSDN.
Создание образца отправки DataSet
Скомпилируйте образец с помощью среды Visual Studio 2005 и предоставляемого решения Visual Studio или программы Microsoft MSBuild, которая включена в пакет .NET Framework SDK 2.0. В окне командной строки выполните следующую команду:
msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\ SendDataSet.sln
Убедитесь, что база данных AdventureWorks установлена.
Если образцы компонента SQL Server Database Engine были установлены в папку, отличную от используемой по умолчанию, то для указания правильной ссылки на расположение установленных образцов необходимо изменить путь в части сценария CREATE ASSEMBLY файлов Scripts\InstallCS.sql и Scripts\InstallVB.sql.
Если вы не являетесь администратором используемого экземпляра сервера SQL Server, то для завершения установки необходимо, чтобы администратор предоставил разрешение CreateAssembly.
Откройте в среде Microsoft SQL Server Management Studio файл scripts\installCS.sql или scripts\installVB.sql (в зависимости от типа проекта: Visual C# или Visual Basic). Запустите сценарий из этого файла или введите в командной строке следующую команду:
sqlcmd -E -I -i Scripts\InstallCS.sql
Выполнение образца
Запуск образца отправки DataSet
Откройте файл scripts\test.sql в среде Management Studio и запустите содержащийся в нем сценарий. Либо выполните в командной строке следующую команду:
sqlcmd -E -I -i Scripts\test.sql
Удаление образца
Удаление образца отправки DataSet
Откройте файл scripts\cleanup.sql в среде Management Studio и запустите содержащийся в нем сценарий. Либо в командной строке выполните следующую команду:
sqlcmd -E -I -i Scripts\cleanup.sql
Примечания
Чтобы этот образец работал правильно, должна быть включена среда CLR для SQL Server 2005 или SQL Server Express.
Образцы предназначены только для обучения. Они не предназначены для использования в рабочей среде и не тестировались в ней. Корпорация Майкрософт не предоставляет техническую поддержку для этих образцов. Образцы приложений и сборок не следует соединять или использовать с рабочей базой данных SQL Server или с сервером отчетов без разрешения системного администратора.