DBEngine.RegisterDatabase 方法 (DAO)

适用于:Access 2013、Office 2013

在 Windows 注册表中输入 ODBC 数据源的连接信息。 在会话期间如果 ODBC 数据源已打开,则 ODBC 驱动程序需要连接信息。

语法

表达式 。RegisterDatabase (DsnDriverSilentAttributes)

表达式 一个表示 DBEngine 对象的变量。

参数

名称

必需/可选

数据类型

说明

Dsn

必需

字符串

OpenDatabase 方法中使用的名称。 该名称引用与数据源有关的描述性信息块。 例如,如果数据源为 ODBC 远程数据库,则该名称可能是服务器的名称。

Driver

必需

字符串

ODBC 驱动程序的名称。 这不是 ODBC 驱动程序 DLL 文件的名称。

无提示

必需

Boolean

如果不需要显示用于提示输入驱动程序专用信息的 ODBC 驱动程序对话框,则此值为 True;如果需要显示 ODBC 驱动程序对话框,则此值为 False。 如果静默为 True,则属性必须包含所有必需的特定于驱动程序的信息,否则对话框仍然显示。

属性

必需

字符串

要添加到 Windows 注册表的关键字列表。 这些关键字是由回车符分隔的字符串。

备注

如果在使用 RegisterDatabase 方法时,已经在 Windows 注册表中注册了数据库(已输入了连接信息),则会更新连接信息。

如果出于任何原因 RegisterDatabase 方法失败,则不会对 Windows 注册表进行更改,同时会发生错误。

有关 ODBC 驱动程序(例如 SQL Server)的详细信息,请参阅随驱动程序提供的"帮助"文件。

示例

以下示例使用 RegisterDatabase 方法在 Windows 注册表中注册名称为"Publishers"的 Microsoft SQL Server 数据源。

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