2

在 Excel 上,我有一个使用MySQL 连接器/ODBC从数据库获取外部数据的表。

如果刷新时连接失败,则会出现 MySQL 连接器/ODBC 数据源配置窗口。

MySQL 连接器/ODBC 数据源配置

而不是我想向用户呈现自定义错误消息

刷新后检查刷新是否成功为时已晚,无法阻止窗口,因此我在刷新之前ping 服务器 ,如果 ping 失败则取消刷新。

我的问题是是否有更可靠/标准的方式在没有连接时不显示窗口。出于安全原因(使用DSN建立连接),我不想在我的代码上写密码,而且我不知道 ping 技巧是否总是有效,或者它是否很少会出现意外错误或结果。

此外,我认为从技术上或理论上讲,ping 检查和刷新之间的连接状态可能会发生变化,即使这不会是世界末日(如果这在快速运行的代码之间甚至是可能的)。

任何人询问的代码示例:

Sub Table()
  Sheets(1).ListObjects.Add(SourceType:=0, Source:="ODBC;DSN=connection_test;", Destination:=Range("A1")).QueryTable.CommandText = Array("SELECT table_test_0.`column _test`  FROM db_test.table_test table_test_0")
End Sub

Sub Refresh()
  Sheets(1).ListObjects(1).QueryTable.Refresh
End Sub
4

0 回答 0