我正在创建一个宏以将Excel工作表连接到SQL Server。 无论我在家还是在外面,Excel文件都将被使用。 现在,所有内容都可以访问我的DNS www.server1.com。
现在,如果由于某种原因服务器1无法正常工作,我想访问第二个备用服务器www.server2.com
问题是我无法处理该错误。 如果无法与服务器通信,则在“ Cn.Open ....”之后,宏将停止并且我收到excel错误: “ Run-rime错误:'-2147467259(80004005)”
我希望不是返回此错误,而是可以通过以下方式手动处理该错误: 如果Cn.Error然后 Server_Name =“ www.server2.com” 等等...
我该怎么做?
Server_Name = "www.server1.com" ' Enter your server name here
Port = "3306"
Database_Name = "mydb" ' Enter your database name here
User_ID = "myuserid" ' enter your user ID here
Password = "mypassword" ' Enter your password here
Dim Cn As ADODB.Connection
Set Cn = New ADODB.Connection
Cn.Open "Driver={MySQL ODBC 5.3 ANSI Driver};Server=" & Server_Name & ";PORT=" & Port & ";Database=" & Database_Name & ";Uid=" & User_ID & " ;Pwd=" & Password & ";"
答案 0 :(得分:0)
您需要添加On Error ...
并在下一行进行测试(如果已连接);如果不是,则连接到备份服务器。最后,停用错误处理。
Dim Cn As ADODB.Connection
Set Cn = New ADODB.Connection
On Error Resume Next
Cn.Open "Driver={MySQL ODBC 5.3 ANSI Driver};Server=" & Server_Name & ";PORT=" & Port & ";Database=" & Database_Name & ";Uid=" & User_ID & " ;Pwd=" & Password & ";"
if Cn.State = 0 Then : _
Cn.Open ... 'Backup connection
On Error Goto 0