If xNode.InnerText = NameToChange Then
xNode.Value = ChangeTo
End If
Next
xDoc.Save("simple2.xml")
MsgBox("Name change saved!", 0)
lstResults.Items.Clear()
ShowTop10()
End Sub
Private Sub btnShowTop10_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnShowTop10.Click
ShowTop10()
End Sub
Private Sub lstResults_DoubleClick(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles lstResults.Doubleclick
Dim oldName As String = _
lstResults.GetItemText(lstResults.Items.Item(lstResults.SelectedIndex))
Dim newName As String = _
InputBox("Please enter a new name", "ChangeAndSave")
ChangeNameandSave(oldName, newName)
End Sub
End Class
НА ЗАМЕТКУ
уже сообщалось ранее, коды всех примеров можно найти на Web-странице Издательского дома "Вильяме" адресу: http://www.williamspublishing.com.
Утилита SQLXML версии 3.0 представляет собой еще один способ сбора и генерации XML-документов. Она не может заменить средства ADO.NET, а является лишь расширением функций SQL Server с помощью интерфейса броузера для создания отчетов, отслеживания выполняемых действий и т.п.
Для использования утилиты SQLXML необходимо инсталлировать Web-сервер Internet Information Server (IIS) и СУБД SQL Server 2000, в состав которой и входит эта утилита. В данном примере используется компьютер с операционной системой Windows XP Professional, IIS 5.1 и утилита SQLXML версии 3.0.
Утилита SQLXML расширяет функции СУБД SQL Server 2000 возможностями создания запросов к базе данных на основе HTTP-запросов. Хотя она обладает многими преимуществами, некоторые опасения у разработчиков вызывают вопросы обеспечения безопасности. Большинство этих опасений можно устранить за счет использования системы аутентификации Windows для виртуальных каталогов, в которых выполняются запросы, и для базы данных.
НА ЗАМЕТКУ
Утилиту SQLXML версии 3.0 можно бесплатно скопировать с Web-узла компании Microsoft ПО адресу: http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/824/msdncompositedoc.xml.
Инсталляция и конфигурирование утилиты SQLXML
После копирования файла с утилитой SQLXML с Web-узла компании Microsoft щелкните дважды кнопкой мыши на нем. На экране появится программа-инсталлятор с несколькими стандартными вопросами, например: согласны ли вы с предлагаемой лицензией и хотите ли вы выполнить обычную или специализированную инсталляцию? Единственное отличие между типами инсталляции заключается в том, что в специализированной инсталляции можно указать другой каталог размещения файлов утилиты.
Для конфигурирования утилиты SQLXML выполните следующее. Выберите команду Start→Microsoft SQL Server→Configure SQL XML Support in IIS (Пycк→Microsoft SQL Server→Конфигурировать поддержку SQL XML в IIS), на экране появится диалоговое окно IIS Virtual Directory Management for SQL Server (Виртуальный каталог управления IIS для SQL Server) программы Microsoft Management Console (рис. 9.3).
РИС. 9.З. Диалоговое окно IIS Virtual Directory Management for SQL Server программы Microsoft Management Console
Обратите внимание на то, что панель в правой части окна содержит только один столбец Computer. Щелкните дважды левой кнопкой мыши на имени компьютера в этом столбце для раскрытия списка всех Web-узлов данного компьютера, как показано на рис. 9.4. Обратите внимание: имя текущего столбца в правой части окна изменилось и он стал называться Web Site Name (Имя Web-узла).
РИС. 9.4. Список Web-узлов
Щелкните дважды на надписи Default Web Site (Используемый по умолчанию Web-узел), которая показана на рис. 9.5, для отображения списка конфигурированных виртуальных каталогов в правой части окна.
РИС. 9.5. Используемый по умолчанию Web-узел
Далее создайте новый каталог c:inetpubwwwrootnovelty. Для этого выберите команду Start→Run, введите команду cmd, щелкните на кнопке OK, введите в режиме командной строки команду mkdir с:inetpubwwwrootnovelty и нажмите клавишу <Enter>. Аналогично внутри этого каталога создайте подкаталог Templates.
Для конфигурирования нового виртуального каталога щелкните правой кнопкой мыши на узле Default Web Site в левой части окна и выберите в контекстном меню команду New→Virtual Directory (Создать→Виртуальный каталог), как показано на рис. 9.6.
Рис. 9.6. Выбор команды New→VirtualDirectory
После выбора виртуального каталога на экране появится новое диалоговое окно New Virtual Directory Properties (Свойства нового виртуального каталога) с шестью вкладками. В первой вкладке, General, предлагается ввести имя виртуального каталога, а также путь к локальному каталогу, где располагаются файлы. Введите в текстовом поле Virtual Directory Name (Имя виртуального каталога) имя Novelty, а в текстовом поле Local Path (Локальный путь) укажите путь к локальному каталогу с:inetpubwwwrootnovelty, как показано на рис. 9.7.
РИС. 9.7. Указание имени виртуального каталога и пути к нему
Далее щелкните на вкладке Security (Безопасность) в верхней части диалогового окна и выберите переключатель Use Windows Integrated Authentication (Использовать интегрированную систему аутентификации Windows). На этом этапе предполагается, что при установке SQL Server был выбран смешанный режим аутентификации Mixed-Mode Authentication или режим аутентификации Windows Authentication. Выбор каждого из этих режимов определяется предпочтительным уровнем безопасности. Если безопасность не имеет существенного значения, например СУБД не связана с внешней сетью, то в таком случае подойдет первый режим. Он позволяет кэшировать параметры подключения аналогично строке подключения. Третий режим, HTTP-Based Basic Authentication (Аутентификация на основе HTTP), базируется на учетной записи SQL Server. На рис. 9.8 показан выбор режима аутентификации Windows Authentication.
Выберите вкладку Data Source (Источник данных) и укажите используемый экземпляр СУБД SQL Server и базу данных. В текстовом поле SQL Server оставьте предлагаемое по умолчанию имя (local).
РИС. 9.8. Параметры системы обеспечения безопасности
НА ЗАМЕТКУ
Имя (local) является "дружественным" именем сервера, который запущен на локальном компьютере. Если SQL Server сконфигурирован для репликации данных в качестве подписчика или издателя данных, то вместо дружественного имени нужно указать фактическое имя компьютера.
Далее в поле со списком Database (База данных) выберите базу данных Novelty, как показано на рис. 9.9. Учтите, что в нем перечислены те базы данных, которые соответствуют параметрам подключения и режиму безопасности.
Выберите вкладку Settings (Параметры) и установите флажки параметров Allow URL queries (Разрешить запросы в URL-указателях), Allow template queries (Разрешить запросы из шаблонов) и Allow XPath (Разрешить Xpath-запросы), как показано на рис. 9.10.
Наконец, выберите вкладку Virtual Names (Виртуальные имена). Щелкните на кнопке New в области окна Defined virtual names (Заданные виртуальные имена). В текстовом поле Virtual Name (Виртуальное имя) диалогового окна Virtual Name Configuration (Конфигурация виртуального имени) введите имя templates. В поле со списком Туре (Тип) выберите тип Template (Шаблон), а в текстовом поле введите c:inetpubwwwrootnoveltytemplates, как показано на рис. 9.11. Для сохранения указанных параметров щелкните на кнопке Save.
РИС. 9.9. Параметры источника данных
РИС. 9.10. Вкладка Settings
РИС. 9.11. Диалоговое окно Virtual Name Configuration
После этого диалоговое окно New Virtual Directory Properties будет иметь вид, показанный на рис. 9.12. Щелкните на кнопке OK для его закрытия.
Таким образом, успешно сконфигурирован виртуальный каталог с помощью IIS. Теперь можно корректно выполнять SQL-запросы к базе данных SQL Server. Если дважды щелкнуть на узле Default Web Site в левой части диалогового окна IIS Virtual Directory Management for SQL Server программы Microsoft Management Console, то его правая часть будет иметь такой вид, как на рис. 9.13. Закройте диалоговое окно IIS Virtual Directory Management for SQL Server.
Рис. 9.12. Диалоговое окно New Virtual Directory Properties после конфигурирования виртуального каталога
Рис. 9.13. Диалоговое окно IIS Virtual Directory Management for SQL Server программы Microsoft Management Console после конфигурирования параметров Web-узла Novelty
Результаты конфигурирования
Рассмотрим теперь, что же получилось в результате конфигурирования параметров Web-узла Novelty. Откройте Web-броузер Internet Explorer версии 6.0 или выше. Полученный результат будет выглядеть, как показано в листинге 9.4. Файл simple2.xml был создан именно так. Введите приведенный ниже URL-указатель для просмотра структуры файла.
http://localhost/Novelty?sql=select top 10 * from tblCustomer FOR XML AUTO&root=customer
Обратите внимание, что параметр root в конце данного URL-указателя содержит корневой элемент XML-документа. Без него довольно трудно отображать результаты HTTP-запросов в окне Web-броузера.