我在VBA中有一个用于连接到SQLServer数据库的ADODB连接。我想捕获连接时引发的错误.Open被调用并且给定的数据库无法访问。在ADODB连接上的VBA错误处理。打开
我的代码如下所示:
Public Function Connect() As Boolean
On Error GoTo DBError
Dim dbServer As String
Dim dbName As String
Dim dbUser As String
Dim dbPwd As String
dbServer = DatabaseSettings.dbServer
dbName = DatabaseSettings.dbName
dbUser = DatabaseSettings.dbUser
dbPwd = DatabaseSettings.dbPwd
Dim connectionString As String
connectionString = "Server=" & dbServer & ";Database=" & dbName & ";User Id=" & dbUser & ";Password=" & dbPwd
Set conn = New ADODB.Connection
conn.Provider = "sqloledb"
With conn
.ConnectionTimeout = 2
.CursorLocation = adUseClient
.Open connectionString
.CommandTimeout = 0
End With
Connect = True
Exit Function
DBError:
Connect = False
End Function
我的问题是,当我尝试运行该代码不正确的ConnectionString中引发错误,并在一个MsgBox显示,而不是由“对错误转到抓DBError”。
在我的错误处理代码中是否有错误,或者我需要找到另一种捕获此错误的方法?
谢谢你的帮助。欢迎任何建议。
谢谢这个解决我的问题。你知道我是否可以强制用户以某种方式使用此设置?否则,当我“释放”我的应用程序时,我会遇到问题。也许检查什么设置设置?再次感谢你的帮助。 – PKeno 2011-03-24 07:01:00
并不知道,但我想你会在这里找到它:http://msdn.microsoft.com/en-us/library/aa221603(v=office.11).aspx – tpascale 2011-03-24 18:09:00