Программирование >>  Разработка пользовательского интерфейса 

1 ... 98 99 100 [ 101 ] 102 103 104 ... 147


Operator

Permission Publication

QueryResults

RegisteredServer

Registry Remote-Login

Remote-Server

Rule

Server-Group SQLServer

Stored-Procedure

Subscriber-Info

Subscription System-Datatype

Table

Task

TransactionLog

объектов в виде строк символов.

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

Содержит информацию о пользовательских объектах БД или привилегиях команд.

Содержит информацию о публикации (наборе статей), используемой для синхронизации данных. Метод AddFullSubscriber позволяет указать сервер, на котором данные синхронизируются по всем статьям в наборе.

Содержит данные, полученные при выполнении запроса. Данные могут быть получены путем выполнения метода ExecuteWithResults объектов SQLServer, Database и RemoteServer. Данные размещаются в памяти и не могут редактироваться.

Содержит имя и данные о регистрации SQL серверов, входящих в объект ServerGroup для использования в SQL Enterprise Manager. Этот объект отображается в Server Manager и запоминается в Регистре.

Содержит всю информацию, размещенную в Регистре Windows о SQL Server.

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

Внешний SQL Server, который становится известным для локального сервера.

Содержит информацию о допустимых данных для колонок или типов данных.

Группа серверов, имеющая уникальное имя.

Объект для связи с используемым сервером. Каждый объект SQLServer может инициализировать одно соединение с выбранным сервером, используя метод Connect.

Поименованный набор команд Transact-SQL, который запоминается в БД. Помимо команд в свойстве Text может храниться имя и путь к библиотеке DLL, реализующей расширенный вариант хранимых процедур.

Содержит всю необходимую информацию для обновления данных на внешнем сервере, включая дату начала и конца подписки (свойства ActiveStartDate и ActiveEndDate), интервалы ежедневного, еженедельного и ежемесячного обновления и т. д.

Содержит информацию, необходимую для синхронизации данных.

Содержит информацию о системных типах данных SQL Server.

Представляет набор строк в БД (таблицу). Позволяет изменять свойства таблицы, добавлять новые колонки, проверять ограничения целостности и т. д.

Содержит информацию о плановых заданиях.

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



Transfer Содержит информацию для пересылки данных и объектов из БД источника (объект Database) в другую БД, расположенную на внешнем сервере.

Trigger Триггер для указанной таблицы. Позволяет

получить информацию о хранящихся триггерах или создать новый с помощью метода Script. Тип триггера определяется свойством Type.

User Содержит информацию о пользователе БД.

Каждый пользователь ассоциируется с одной регистрацией пользователя для работы с БД.

User-Defined- Определяет пользовательский тип данных. Datatype

View Представление, хранящееся в БД. В свойстве Text

хранится команда SELECT Transact-SQL для выполнения запроса. Данные в представлении не могут редактироваться.

На вершине иерархии объектов DMO находится объект Application, который обеспечивает нас методами и свойствами для управления средой приложения.

Важной особенностью использования объектов SQL-DMO является наличие наряду с самими объектами, их коллекций. За счет этого работа с объектами в Visual Basic существенно упрощается. Коллекция включает группу объектов одного типа. Имя коллекции образуется как множественное число от имени объекта. К коллекции можно обратиться из объекта, являющегося родительским в иерархии. Если объект не имеет коллекции, то используется коллекция Properties, которая имеет по одному объекту Property для каждого свойства. С ее помощью можно легко установить имена и значения всех свойств объекта, не зная их заранее. Например:

For Each oProperty in oSQLServer.Properties

Debug.Print oProperty.Name & = oProperty.Value

Next

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

For Each oDatabase in oSQLServer.Databases Debug.Print oDatabase.Name

Next

В Visual FoxPro код будет чуть длиннее: nDBNum = oSQLServer.Databases.Count FOR nItem = 1 TO nDBNum

? oSQLServer.oDatabases(nItem).Name

NEXT

Для добавления нового объекта в коллекцию используется метод Add. Для удаления объекта из коллекции - метод Remove.

По сравнению с другими рассмотренными ранее объектными моделями, модель объектов SQL-DMO имеет особый тип коллекции, - список (list), доступный только для чтения. Возможности получения списков весьма широки и охватывают почти все объекты DMO, но необходимо учитывать, что в списке вы получите данные, фиксирующие текущее состояние системы и никак не изменяющиеся при дальнейших действиях.

Для того чтобы начать работу с SQL сервером посредством DMO, если вы используете Access или Visual Basic, необходимо создать объект SQLServer:

Global MyServer As New SQLOLE.SQLServer

Если вы используете Visual FoxPro, то необходимо воспользоваться функцией CREATEOBJECT():

oMyServer = CREATEOBJECT( SQLOLE.SQLServer )



В данный момент этот объект представляет собой абстрактную ссылку. Для придания ему конкретности необходимо подсоединиться к существующему серверу, естественно, если вам как пользователю даны права или вы знаете пароль администратора.

Вы можете сделать это, использовав метод Connect объекта SQLServer, например, следующим образом:

oMyServer.Connect(Servername:= Autoserver , Login= Me ,Password= You )

Можно пойти более сложным путем, но при этом вы будете знать причину возникновения возможной ошибки. Используйте следующую или подобную ей функцию:

Function SQLLogin(strServerName As String, strUID As String, strPWD As String) As Boolean

Подключение к указанному SQL серверу, используя

предложенный идентификатор пользователя и пароль.

Устанавливает глобальный объект типа SQLServer

Возвращает истину при удачном завершении,

в противном случае - ложь.

On Error GoTo SQLLoginErr

Const erSQLAlreadyLoggedIn = -2147211004

SQLLogin = True

DoCmd.Hourglass True

mySQLServer.Connect strServerName, strUID, strPWD SQLLoginExit:

DoCmd.Hourglass False

Exit Function

SQLLoginErr:

Select Case Err.Number

Case erSQLAlreadyLoggedIn SQLLogin = True Resume Next

Case Else

MsgBox Error & Err.Number & : & Err.Description, vbCritical, SQLLogin() End Select SQLLogin = False Resume SQLLoginExit End Function

В простейших случаях можно безболезненно пользоваться первой конструкцией. Необходимо помнить, что после завершения работы программы с использованием SQL-DMO вам обязательно надо отсоединиться от сервера. Для этого используйте метод Disconnect объекта SQLServer:

oMySqlServer. Disconnect

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

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

Function SQLMakeNewDatabase(strName As String, strDeviceName As String, lngSize As Long) Создаем новую БД на текущем SQL Server On Error GoTo SQLMakeNewDatabaseErr SQLMakeNewDatabase = True Dim objNewDatabase As New SQLOLE. Database If Not gobjSQLServer Is Nothing Then DoCmd.Hourglass True With objNewDatabase .Name = strName End With

БД будет располагаться на устройстве по умолчанию

gobjSQLServer.Databases.Add objNewDatabase



1 ... 98 99 100 [ 101 ] 102 103 104 ... 147

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика