Поделиться через


Метод DBEngine.RegisterDatabase (DAO)

Область применения: Access 2013, Office 2013

Вводит сведения о подключении для источника данных ODBC в реестре Windows. Драйверу ODBC требуются сведения о подключении при открытии источника данных ODBC во время сеанса.

Синтаксис

expression . RegisterDatabase(Dsn, Driver, Silent, Attributes)

expression: переменная, представляющая объект DBEngine.

Параметры

Имя

Обязательный/необязательный

Тип данных

Описание

Dsn

Обязательный

String

имя, используемое в методе OpenDatabase . Он ссылается на блок описательных сведений об источнике данных. Например, если источником данных является удаленная база данных ODBC, это может быть имя сервера.

Driver

Обязательный

String

Имя драйвера ODBC. Это не имя DLL-файла драйвера ODBC.

Автоматический

Обязательный

Boolean

Значение true , если вы не хотите отображать диалоговые окна драйвера ODBC, которые запрашивают сведения о драйвере; или Значение False , если требуется отобразить диалоговые окна драйвера ODBC. Если параметр имеет значение True, атрибуты должны содержать все необходимые сведения о драйвере, иначе диалоговые окна отображаются в любом случае.

Атрибуты

Обязательный

String

Список ключевых слов для добавления в реестр Windows. Ключевые слова находятся в строке с разделителями каретки с возвратом.

Замечания

Если база данных уже зарегистрирована (сведения о подключении уже введены) в реестре Windows при использовании метода RegisterDatabase , сведения о подключении обновляются.

Если метод RegisterDatabase по какой-либо причине завершается сбоем, в реестр Windows не вносятся никакие изменения и возникает ошибка.

Дополнительные сведения о драйверах ODBC, таких как SQL Server, см. в файле справки, предоставленном вместе с драйвером.

Пример

В этом примере используется метод RegisterDatabase для регистрации источника данных Microsoft SQL Server с именем Publishers в реестре Windows.

Sub RegisterDatabaseX() 
 
 Dim dbsRegister As Database 
 Dim strDescription As String 
 Dim strAttributes As String 
 Dim errLoop As Error 
 
 ' Build keywords string. 
 strDescription = InputBox( "Enter a description " & _ 
 "for the database to be registered.") 
 strAttributes = "Database=pubs" & _ 
 vbCr & "Description=" & strDescription & _ 
 vbCr & "OemToAnsi=No" & _ 
 vbCr & "Server=Server1" 
 
 ' Update Windows Registry. 
 On Error GoTo Err_Register 
 DBEngine.RegisterDatabase "Publishers", "SQL Server", _ 
 True, strAttributes 
 On Error GoTo 0 
 
 MsgBox "Use regedit.exe to view changes: " & _ 
 "HKEY_CURRENT_USER\" & _ 
 "Software\ODBC\ODBC.INI" 
 
 Exit Sub 
 
Err_Register: 
 
 ' Notify user of any errors that result from 
 ' the invalid data. 
 If DBEngine.Errors.Count > 0 Then 
 For Each errLoop In DBEngine.Errors 
 MsgBox "Error number: " & errLoop.Number & _ 
 vbCr & errLoop.Description 
 Next errLoop 
 End If 
 
 Resume Next 
 
End Sub