Описание
Задает или возвращает значение, содержащее сведения об источнике открытого подключения, открытой базе данных, базе данных, используемой в запросе к серверу или присоединенной таблице. Для объектов Database, новых объектов Connection, присоединенных таблиц и объектов TableDef, еще не добавленных в семейство, значение данного свойства доступно для чтения/записи. Для объектов QueryDef и основных таблиц, данное свойство доступно только для чтения.
объект.Connect = типБазыДанных;параметры;
Параметры
объект
Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".
типБазыДанных
Необязательный. Выражение типа String, определяющее тип базы данных. Для баз данных Microsoft Jet этот аргумент следует исключить; если при этом задается аргумент параметры, то вместо аргумента типБазыДанных следует подставить точку с запятой (;).
параметры
Необязательный. Выражение типа String, определяющее дополнительные параметры, передаваемые драйверу ODBC или устанавливаемым драйверам ISAM. Отдельные параметры разделяются точкой с запятой.
Значение
Значением свойства Connect (подключение) является строка, образуемая из указателя типа базы данных и произвольного числа параметров, разделяемых точкой с запятой. Свойство Connect используется для передачи дополнительной информации драйверу ODBC и некоторым устанавливаемым драйверам ISAM.
Для выполнения запроса к серверу SQL по таблице, присоединенной к файлу базы данных Microsoft Jet (.mdb), необходимо сначала задать в свойстве Connect базы данных присоединенной таблицы допустимую строку подключения ODBC.
Для объекта TableDef, представляющего присоединенную таблицу, значение свойства Connect может состоять из одного или двух компонентов (указателя типа базы данных и пути к базе данных), каждый из которых должен заканчиваться точкой запятой.
Путь, как показано в следующей таблице, задает полный путь к каталогу, содержащему файлы базы данных, и должен начинаться с идентификатора DATABASE=. В некоторых случаях (для Microsoft Excel и баз данных Microsoft Jet), имя файла необходимо включать в аргумент пути.
В следующей таблице перечислены допустимые типы баз данных, а также соответствующие значения указателя базы данных и формат задания пути к базе данных, которые следует использовать при определении свойства Connect. Можно также указать адрес «FTP://путь/etc.» или «HTTP://путь/etc». В рабочей области ODBCDirect можно использовать только идентификатор "ODBC".
Тип Указатель базы данных Пример База данных Microsoft Jet [базаДанных]; диск:\путь\имяФайла.mdb dBASE III dBASE III; диск:\путь dBASE IV dBASE IV; диск:\путь dBASE 5 dBASE 5.0; диск:\путь Paradox 3.x Paradox 3.x; диск:\путь Paradox 4.x Paradox 4.x; диск:\путь Paradox 5.x Paradox 5.x; диск:\путь FoxPro 2.0 FoxPro 2.0; диск:\путь FoxPro 2.5 FoxPro 2.5; диск:\путь FoxPro 2.6 FoxPro 2.6; диск:\путь Excel 3.0 Excel 3.0; диск:\путь\файл.xls Excel 4.0 Excel 4.0; диск:\путь\файл.xls Excel 5.0 или Excel 95 Excel 5.0; диск:\путь\файл.xls Excel 97 Excel 8.0; диск:\путь\файл.xls HTML Import HTML Import; диск:\путь\файл HTML Export HTML Export; диск:\путь Текстовая Text; диск:\путь ODBC ODBC; DATABASE=базаДанных; UID=пользователь; PWD=пароль; DSN= имяИсточника; [LOGINTIMEOUT=секунды;] Не используется Exchange Exchange; MAPILEVEL=путьПапки; [TABLETYPE={ 0 | 1 }]; [PROFILE=профиль;] [PWD=пароль;] [DATABASE=базаДанных;] диск:\путь\имяФайла.mdb
Замечания
Если в качестве указателя задать только строку "ODBC;", то драйвер ODBC выводит на экран диалоговое окно со списком имен всех зарегистрированных источников данных ODBC, из которых пользователь сможет выбрать нужную базу данных.
Если для подключения к базе данных требуется пароль, но он не указан в строке значения свойства Connect, то диалоговое окно входа будет выводиться на экран при первом обращении к таблице с помощью драйвера ODBC, а также, если подключение было закрыто и открывается заново.
Для данных Microsoft Exchange в разделе MAPILEVEL должен быть задан полный путь к папке (например, "Mailbox - Pat SmithIAlpha/Today"). Этот путь не включает имя папки, открываемой в виде таблицы; имя этой папки должно задаваться в аргументе имя метода CreateTable. В разделе TABLETYPE должно задаваться значение "0" для открытия папки по умолчанию или значение "1" для открытия адресной книги. В разделе PROFILE по умолчанию используется текущий профиль.
Для основных таблиц в базе данных Micorosoft Jet (.mdb) значением Connect является пустая строка ("").
Значение свойства Connect объекта Database может быть задано с помощью аргумента источник в методе OpenDatabase. Проверка значения данного свойства позволяет определить тип, путь, код пользователя, пароль или источник данных ODBC базы данных.
Для объекта QueryDef в рабочей области Microsoft Jet свойство Connect вместе со свойством ReturnsRecords используют для создания запроса к серверу SQL по протоколу ODBC. Компонент типБазыДанных в строке подключения имеет вид "ODBC;", а в остальной части строки содержится информация, необходимая драйверу ODBC для доступа к данным на удаленном сервере. За более подробным описанием следует обращаться к документации конкретного драйвера.
Значение свойства Connect необходимо задавать до значения свойства ReturnsRecords.
Необходимо иметь разрешения на доступ к компьютеру, на котором находится сервер базы данных, к которому требуется подключиться.
Пример
В данном примере с помощью свойств Connect и ReturnsRecords из базы данных на сервере Microsoft SQL Server отбираются пять книг, имеющих максимальные результаты продаж за год. Если обнаруживается совпадение в результатах продаж, размер выводящегося списка увеличивается и выводится сообщение с объяснением причины.
Sub ClientServerX1() Dim dbsCurrent As Database Dim qdfPassThrough As QueryDef Dim qdfLocal As QueryDef Dim rstTopFive As Recordset Dim strMessage As String ' Открывает базу данных, для которой будут ' созданы объекты QueryDef. Set dbsCurrent = OpenDatabase("DB1.mdb") ' Создает запрос к серверу для загрузки данных ' из базы данных Microsoft SQL Server. Set qdfPassThrough = dbsCurrent.CreateQueryDef("ВсеНазвания") qdfPassThrough.Connect = "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers" qdfPassThrough.SQL = "SELECT * FROM titles " & "ORDER BY ytd_sales DESC" qdfPassThrough.ReturnsRecords = True ' Создает временный объект QueryDef для загрузки ' данных из запроса к серверу. Set qdfLocal = dbsCurrent.CreateQueryDef("") qdfLocal.SQL = "SELECT TOP 5 title FROM ВсеНазвания" Set rstTopFive = qdfLocal.OpenRecordset() ' Отображает результаты запросов. With rstTopFive strMessage = "Первые 5 бестселлеров:" & vbCr Do While Not .EOF strMessage = strMessage & " " & !Title & vbCr .MoveNext Loop If .RecordCount gt; 5 Then strMessage = strMessage & "(В списке " & vbCr & .RecordCount & " книг, так как несколько имеют одинаковые результаты)" End If MsgBox strMessage .Close End With ' Удаляет новый запрос к серверу, созданный только для ' демонстрации. dbsCurrent.QueryDefs.Delete "ВсеНазвания" dbsCurrent.Close End Sub