Описание
Открывает объект 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