我在SQL Server 2000上运行了一个Delphi应用程序,但连接数据库的时间非常长!
但是当我在我的开发服务器上运行这个应用程序时,它连接速度非常快!
我在Windows 2003服务器,SQL Server 2k个人版上运行,当我在注册表中查看我的MDAC版本时,我看到已经安装了2.8版本!
为什么会在生产机器上发生这种情况,而不是在开发机器上发生任何想法?
答案 0 :(得分:6)
这有可能归结为连接到数据库的网络级问题。取决于您是否在同一个框中运行应用程序和数据库。
尝试使用其他工具从同一台计算机连接到数据库。您可以设置数据源并从控制面板进行测试。如果来自另一个工具的连接速度很慢,则测试服务器之间的连接以进行其他类型的连接(例如,运行ping)。例如,它可能是通过广播而不是域来解析服务器。或任何其他问题 - 防火墙,交换机,胜利等。
如果使用集成身份验证进行连接,请确保数据库可以解析应用程序服务器,反之亦然。这是身份验证过程的一部分,我发现它会导致之前创建数据库连接的速度变慢。
简而言之,我确信这不是特定于delphi / sql的问题,而是生产服务器之间通信的问题。
祝你好运!答案 1 :(得分:1)
您的问题最有可能是网络或传输层相关
的问候,
利芬
答案 2 :(得分:1)
建立连接后保持连接打开状态。这称为连接池,将提高性能。我不知道如何使用delphi应用程序。
答案 3 :(得分:0)
很久以前我遇到过这样的问题,它来到了连接字符串的工作站部分。如果您从开发计算机复制了连接字符串,工作站参数仍然在连接字符串中并且指向您的部署网络上可能不存在的开发计算机,则可能。
在这种情况下,您与数据库的连接必须等到网络尝试连接不存在的计算机(显然需要时间)。删除工作站cluse,它将加速结束。