Описание
Открывает объект Connection (подключение) для источника
данных ODBC (только в рабочей области ODBCDirect).
Set подключение = рабочаяОбласть.OpenConnection (имя, параметры, толькоЧтение, строка)
Параметры
подключение
Переменная, представляющая объект
Connection, которой присвоено новое
подключение.
рабочаяОбласть
Необязательный. Переменная,
представляющая объект Workspace, содержащая ссылка на существующий объект
Workspace, в котором будет содержаться новое
подключение.
имя
Строковое выражение. См. описание в разделе
"Дополнительные сведения".
параметры
Необязательный. Значение типа
Variant, задающее различные параметры подключения, как описано в разделе
"Значения". Используя это значение, диспетчер драйвера ODBC выводит
приглашение пользователю указать такие параметры подключения как имя источника
данных, имя пользователя и пароль.
Аргумент параметры определяет, следует ли
и в каких условиях выводить пользователю приглашение установить подключение, а
также, следует или нет открывать подключение в асинхронном режиме. Допускается
использование одной из следующих констант.
dbDriverNoPrompt Диспетчер драйвера ODBC использует строку подключения, определяемую аргументами имя и строка. Если нужные сведения не заданы, возникает ошибка выполнения. dbDriverPrompt Диспетчер драйвера ODBC открывает диалоговое окно ODBC Data Sources, в котором отображаются сведения, заданные в аргументах имя или строка. В строке подключения используется имя источника данных, которое пользователь выбирает в диалоговых окнах, или, если пользователь не указывает имя источника данных, используется имя источника по умолчанию. dbDriverComplete Используется по умолчанию. Если в аргументе строка заданы все необходимые для подключения сведения, диспетчер драйвера ODBC использует аргумент строка. В противном случае выполняются действия, задаваемые константой dbDriverPrompt. dbDriverCompleteRequired Данный параметр аналогичен константе dbDriverComplete, с тем лишь исключением, что драйвер ODBC отключает вывод приглашений на ввод любых данных, не являющихся обязательными для установления подключения. dbRunAsync Задает асинхронное выполнение метода. Данную константу можно комбинировать с любыми константами аргумента параметры.толькоЧтение
Замечания
Метод OpenConnection используют для установления
подключения к источнику данных ODBC из рабочей области ODBCDirect.
Метод OpenConnection похож, но не является эквивалентным методу
OpenDatabase. Основное различие заключается в том, что метод
OpenConnection доступен только в рабочей области
ODBCDirect.
Если указать в аргументе строка зарегистрированное имя
источника данных ODBC (DSN), то аргумент имя может содержать любую
правильную строку, которая будет служить значением свойства Name объекта
Connection. Если допустимое имя источника данных не включено в аргумент
строка, то аргумент имя должен задавать правильное имя источника данных
ODBC, которое также будет являться значением свойства Name. Если
ни один из аргументов имя или строка не содержит допустимое имя источника
данных, можно указать для диспетчера драйвера ODBC (в аргументе
параметры) вывод приглашений пользователю указать необходимые для подключения
сведения. Имя источника данных, введенное в ответ на приглашение, образует
значение свойства Name.
Метод OpenConnection возвращает объект
Connection, содержащий сведения о подключении. Объект Connection
аналогичен объекту Database. Основная разница заключается в том, что
объект Database обычно представляет базу данных, хотя он также может
использоваться для представления подключения к источнику данных ODBC из
рабочей области Microsoft Jet.
Пример
Следующая программа использует свойство StillExecuting и
метод Cancel для асинхронного открытия объекта Connection.
Sub CancelConnectionX()
Dim wrkMain As Workspace
Dim conMain As Connection
Dim sngTime As Single
Set wrkMain = CreateWorkspace("ODBCWorkspace", "admin", "", dbUseODBC)
' Открывает асинхронное подключение.
Set conMain = wrkMain.OpenConnection("Publishers", dbDriverNoPrompt + dbRunAsync, False, "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers")
sngTime = Timer
' Ожидает пять секунд.
Do While Timer - sngTime < 5
Loop
' Если подключение не установлено, запрашивает пользователя,
' следует ли продлить ожидание. Если нет команды на продление,
' отменяет подключение и осуществляет выход из процедуры.
Do While conMain.StillExecuting
If MsgBox("Подключение не установлено. Продлить ожидание?", vbYesNo) = vbNo Then
conMain.Cancel
MsgBox "Подключение отменено!"
wrkMain.Close
Exit Sub
End If
Loop
With conMain
' Использует объект Connection с именем conMain.
.Close
End With
wrkMain.Close
End Sub