2009-02-07 16 views
0

J'ai une application Delphi qui s'exécute sur SQL Server 2000, mais la connexion à la base de données prend énormément de temps! Mais quand j'exécute cette application sur mon serveur de développement, elle se connecte assez rapidement!Comment puis-je accélérer ma connexion à MS SQL Server?

Je cours sur le serveur Windows 2003, édition personnelle de SQL Server 2k, quand je regarde ma version de MDAC dans le registre, je vois la version 2.8 déjà installée!

Des idées pour lesquelles cela se produit sur la machine de production mais pas sur la machine de développement?

+0

Dans les deux environnements, êtes-vous application et base de données sur des serveurs distincts? – Nick

Répondre

1

Votre problème le plus probable est le réseau ou la couche de transport liée

  1. vous vous connectez via TCP, les canaux nommés ou un autre mécanisme?
  2. Avez-vous essayé de tracer l'ouverture d'une connexion avec Microsoft SQL Profiler?

salutations,
Lieven

1

Gardez votre connexion ouverte une fois que vous avez créé il. C'est ce qu'on appelle le regroupement de connexions et cela améliorera les performances. Je n'ai aucune idée de comment le faire avec une application Delphi.

+0

Composant de connexion Delphi comme [tag: UNIDAC] regroupement de connexions d'adresses. – menjaraz

6

Il y a une chance raisonnable qu'il s'agisse d'un problème de niveau réseau se connectant à la base de données. Selon que vous exécutez l'application et la base de données sur la même case bien sûr.

Essayez de vous connecter à la base de données à partir de la même machine à l'aide d'un outil différent. Vous pouvez configurer une source de données et la tester à partir du panneau de configuration comme alternative. Si la connexion est lente à partir d'un autre outil, testez la connectivité entre les serveurs pour d'autres types de connexion (par exemple, exécutez un ping). Il se peut qu'il résout le serveur par diffusion plutôt que par le domaine, par exemple. Si vous vous connectez à l'aide de l'authentification intégrée, vérifiez également que la base de données peut résoudre le serveur d'applications et vice versa. Cela fait partie du processus d'authentification et j'ai vu cela ralentir la création de connexions à la base de données auparavant. En bref, je serais confiant que ce n'est pas un problème spécifique à Delphi/sql, mais quelque chose dans les communications entre vos serveurs de production.

Bonne chance!

0

J'ai eu un problème il ya longtemps comme ceci, et il est descendu à la section de la chaîne de connexion. C'est possible si vous avez copié la chaîne de connexion de votre machine dev que le paramètre workstation est toujours dans la chaîne de connexion et pointe vers votre machine dev qui n'existe probablement pas sur votre réseau de déploiement.

Dans ce cas, votre connexion à la base de données doit attendre que le réseau essaie de se connecter à une machine non disponible (ce qui prend évidemment du temps). Retirez la cluse de la station de travail et elle accélèrera sans fin.

Questions connexes