我很难过。我有一个有两个后端的数据库。一个是本地网络,另一个是通过互联网。当我的数据库启动时,用户必须通过登录,一旦发生这种情况,主窗体就会打开。此时,运行查询以通过链接表将数据从本地后端发送到外部后端。我要做的是检查链接表是否有连接,如果链接表已连接,则只运行此查询。这样做的原因是,如果数据库通过Internet连接的最终用户或服务器在锁定用户前端时没有Internet连接。这是不好的,因为如果Internet连接丢失或服务器因任何原因而关闭,这将限制用户使用数据库
Example: if sql link is ok then
run query
Else goto end
答案 0 :(得分:0)
您应该可以使用FileSystemObject在网络上获取合适的文件夹,如果失败,则表示您没有连接。
编辑
This article使用VBScript检查SQL Server端口。 VBScript在VBA中运行,只有很少的更改。
编辑#2
Powershell可用于ping远程服务器和can be run from VBA
$servers = Get-Content 'servers.txt'
ForEach-Object ($server in $servers) {
# Ping the machine to see if it's on the network
$results = Get-WMIObject -query "select StatusCode from
Win32_PingStatus where Address = '$server'"
$responds = $false
ForEach-Object ($result in $results) {
# If the machine responds break out of the result loop and indicate success
if ($result.statuscode -eq 0) {
$responds = $true
break
}
}
If ($responds) {
# Gather info from the server because it responds
Write-Output "$server responds"
} else {
# Let the user know we couldn't connect to the server
Write-Output "$server does not respond"
}
}
上面的代码是来自Allen White的http://www.simple-talk.com/sql/database-administration/let-powershell-do-an-inventory-of-your-servers/的剪切和粘贴