|
|
1
2
您可以尝试创建一个ADO连接,并将超时设置为一些较低的值,例如(未测试):
|
|
|
2
2
我很抱歉,如果我是新来的,我有点不合时宜,但我想提个建议。实际上,您可以在不使用中间文本文件(使用WindowsAPI)的情况下捕获shelled命令的输出。我创建了一个小类文件,它将这个文件包装得很干净。( link ) 使用这个,您可以将代码重构为这个代码,而不必担心读取文件时增加的麻烦。
|
|
|
3
2
我最终决定采用的解决方案是使用nslookup.exe作为sc.exe命令的前身。如果SQL Server服务器不存在,nslookup会立即通知我。这样做可以将SQL Server查找失败的时间从8秒缩短到1秒以下。成功的案例实际上稍微长一点,但并不明显。对于那些可能感兴趣的人,这里是我的最终解决方案(希望我的个人功能[shellwait、qt、passthrough、logerror]的目的是显而易见的): 更新:我已经更新了函数,将dmaruca的clsrunapp(我最喜欢的新类模块)和philippe提出的有关在断开连接模式下工作的问题结合在一起。结果比我最初发布的要好得多,我想感谢他们的贡献。现在的功能是:
注意:我认识到environ(“computer name”)不是一种100%可靠的确定计算机名称的方法,因此,如果您愿意,可以用您自己的代码替换它。我认为懒惰的方法在这里就足够了。 |
|
4
1
我这样做的方式(在遥远的过去)是使用链接表,并有一个用户表单,允许在运行时一次性选择服务器。或者,您可以将服务器名放在配置文件中,并使用它动态创建连接字符串。 |
|
5
1
|
|
|
6
0
这里提出的解决方案在特定条件下非常有效,在这种情况下,计算机是联网的,并且有一个DNS服务器可用。如果您的应用程序应该在连接(您可以连接到其中一个“主”服务器)和断开连接模式(您可以连接到数据库的本地副本)下工作,则此解决方案不会执行此操作。 我们的通用、高效但(我必须承认)不是那么聪明的解决方案,直到现在才有一个客户端连接表(事实上,XML文件-每个连接一个-在app文件夹中)并允许用户在启动时选择连接。根据用户、他在哪里工作以及他离线工作的能力,我们可以选择在他的计算机上安装哪些XML连接字符串。 我们的想法是(当我们有时间的时候)使用计算机的IP地址来识别/计算可用的“最佳”数据库服务器:如果计算机没有联网,连接将被设置为“本地主机”。否则,连接将“即时”建立在一个网络上,在该网络中,数据库服务器将被赋予预先限定的IP后缀。因此,当计算机的IP为a a a.bbb.ccc.ddd时,计算机将知道它必须连接到a a a.bbb.120.132,其中120.132是预定义的数据库服务器后缀。 |
|
|
Kram Kramer · 通过vba自动调整文本大小以适应形状 1 年前 |
|
|
Eric · 我有邮政编码替换问题Excel VBA 1 年前 |
|
|
Chasester · VBA使用嵌套的DIV抓取URL 1 年前 |
|
Iron Man · 代码插入和复制到错误的工作表 1 年前 |
|
|
NoFafo · 将文本框放入数组进行格式化 1 年前 |
|
|
Smokestack · 过滤器范围C3:G3并粘贴到其他单元格 1 年前 |