MS SQL Server 6.5 — страница 9

  • Просмотров 15309
  • Скачиваний 414
  • Размер файла 105
    Кб

поддержка распределенных баз данных становилась одним из самых актуальных вопросов построения современных СУБД. Мы уже имели возможность убедиться, что SQL Enterprise Manager позволяет осуществлять удобное администрирование распределенных серверов из единого центра, однако наряду с этим хотелось бы иметь возможность программного обращения к административным функциям из высокоуровневых языков. Обычно использовавшимся для этих

целей в других СУБД сценарным языкам типа REXX или PERL недоставало функциональных возможностей, библиотек классов, отладчика и т. д. Поэтому в случае с Microsoft SQL Server был избран более открытый подход: сервер был разработан как cовместно с набором объектов управления, которые могли быть вызваны из любого языка программирования, поддерживающего технологию СОМ (Component Object Model). MS SQL Server 6.5 предоставляет интерфейс OLE Automation с более, чем 70

объектами, обладающими 1500 свойствами. Это означает, что фактически любая из перечисленных нами в предыдущем пункте административных задач, включая операции над базами данных, ограничениями (constraints), триггерами, таблицами, представлениями, полями, индексами, пользователями, группами, публикациями и пр., может быть оформлена как вызов соответствующего метода соответствующего объекта и выполнена (при наличии прав доступа) из Visual

Basic, Visual C++, Visual J++, Visual FoxPro и т. д. Как и для всякого OLE Automation Server, при распространении приложения, использующего вызовы SQL-DMO, на клиенте с помощью regsrv32.exe должна быть зарегистрирована библиотека поддержки объектов sqlole65.dll. Вот, например, как можно организовать просмотр содержимого таблицы MS SQL Server из MS Visual FoxPro 5.0: FoxPro 5.0: oSQLServer=CreateObject("SQLOLE.SQLServer") oSQLServer.Connect("ntalexeysh", "sa") oQueryResults=oSQLServer.Databases("mydb").ExecuteWithResults("select * from

anytable") ? for each oColumn in oSQLServer. Databases("mydb").Tables("anytable").Columns ?? padc(oColumn.Name,oColumn. Length)+' ' next for i=1 to oQueryResults.Rows ? for j=1 to oQueryResults.Columns ?? oQueryResults.GetColumnString(i,j)+' ' next next oSQLServer.Close Объектная модель оказалась настолько мощной, полной и гибкой, что даже SQL Enterprise Manager (одна из основных утилит в составе MS SQL Server) был написан с использованием DMO. Интеграция с электронной почтой Рассматривая функции администрирования MS SQL Server 6.5, мы упоминали о возможности

автоматической отправки сообщений по электронной почте в случае возникновения предупреждения, превышения порогового значения одного из показателей в SQL Performance Monitor или периодически на основе запланированного графика. В состав сервера входит утилита SQLMail, которая позволяет организовать взаимодействие с Microsoft Exchange Server для отправки и приема сообщений через расширенные хранимые процедуры, использующие вызовы функций MAPI. К этим