2009-02-07 3 views
0

У меня есть приложение Delphi, работающее на SQL Server 2000, но очень важно подключиться к базе данных!Как ускорить подключение моего приложения к MS SQL Server?

Но когда я запускаю это приложение на своем сервере разработки, он подключается довольно быстро!

Я работаю на сервере Windows 2003, личная версия SQL Server 2k, когда я смотрю на версию MDAC в реестре, я вижу, что версия 2.8 уже установлена!

Любые идеи, почему это происходит на производственной машине, но не на машине разработки?

+0

В обеих средах вы используете приложение и базу данных на отдельных серверах? – Nick

ответ

1

Ваша проблема, скорее всего, является сеть или транспортный уровень, связанные с

  1. Вы подключаетесь через TCP, именованные каналы или другой механизм?
  2. Вы пробовали отслеживать открытие соединения с Microsoft SQL Profiler?

С уважением,
Ливен

1

Держите соединение открытым, как только вы установили его. Это называется пулом соединений и повысит производительность. Я не знаю, как это сделать с помощью приложения delphi.

+0

Некоторые компоненты соединения Delphi как объединение пула адресов [tag: UNIDAC]. – menjaraz

6

Существует разумная вероятность, что это связано с проблемой сетевого уровня, связанной с базой данных. В зависимости от того, используете ли вы приложение и базу данных в том же поле, конечно.

Попробуйте подключиться к базе данных с той же машины, используя другой инструмент. Вы можете настроить источник данных и протестировать его с панели управления в качестве альтернативы. Если соединение медленнее с другого инструмента, проверьте соединение между серверами для других типов соединений (например, запустите ping). Возможно, он разрешает сервер через широковещательную передачу, а не домен, например. Или любое количество других вопросов - брандмауэр, коммутатор, выигрыш и т. Д.

Если вы подключаетесь с использованием встроенной проверки подлинности, также убедитесь, что база данных может разрешить сервер приложений, а также наоборот. Это часть процесса аутентификации, и я видел, что это приводит к замедлению в создании соединений с базой данных раньше.

Короче говоря, я был бы уверен, что это не проблема, характерная для delphi/sql, но что-то в сообщениях между вашими производственными серверами.

Удачи вам!

0

У меня была проблема давным-давно, как это, и она сводилась к разделу рабочей станции строки подключения. это возможно, если вы скопировали строку соединения с вашего компьютера-разработчика, чтобы параметр рабочей станции все еще находился в строке подключения и указывал на вашу машину, которая, вероятно, не существует в вашей сети развертывания.

В этом случае ваше соединение с базой данных должно ждать, пока сеть попытается подключиться к несуществующей машине (что, очевидно, требует времени). Удалите кластеры рабочих станций, и это ускорит работу.

Смежные вопросы