Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 596

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Пишу клиента для MSSQL2000, но не получается подключиться динамически. Если использую код до коментария приложение долго весит, потом сообщает что сервер отсутствует или доступ закрыт... где моя ошибка? строку использую построенную с помощью мастера подключения..

Приложение:
  1. var
  2. s:string;
  3. begin
  4. if not(DataModule2.ADOConnection1.Connected) then
  5. begin
  6. frmConnection.ShowModal;
  7. s:=frmConnection.Edit1.Text;
  8. DataModule2.ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=Stepani4;Initial Catalog=car_sake;Data Source='+s+';';//Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=COMP1;Use Encryption for Data=False;Tag with column collation when possible=False';
  9. DataModule2.ADOConnection1.Connected:=true;
  10. end;
  11. end;


Примечание #1 (19 мая 2008, 01:27):
после коментария тоже самое...

Stepani4 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Stepani4 (статус: Посетитель)
Вопрос отправлен: 19 мая 2008, 01:14
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 12; последнее сообщение — 25 мая 2008, 21:09; участников в обсуждении: 3.
Вадим К

Вадим К (статус: Академик), 19 мая 2008, 09:11 [#1]:

А если строку подкючения сгенерировать мастером и подключаться, просто выставив Connected = true, нормально работает?
Галочка "подтверждения прочтения" - вселенское зло.
Stepani4

Stepani4 (статус: Посетитель), 19 мая 2008, 09:57 [#2]:

да нормально.
Stepani4

Stepani4 (статус: Посетитель), 19 мая 2008, 10:37 [#3]:

если надо могу прислать архив скодом и sql-скриптом
Вадим К

Вадим К (статус: Академик), 19 мая 2008, 11:03 [#4]:

Тогда не в скриптах проблема.
Есть такие предположения
- фаервол подрезает.
- встроенные процедуры выполняются слишком долго. (маловероятно)
- висит два подключения.

попробуйте зайти консолью на SQL сервер и посмотрите логи. Думаю, они что то расскажут
Галочка "подтверждения прочтения" - вселенское зло.
Stepani4

Stepani4 (статус: Посетитель), 19 мая 2008, 11:48 [#5]:

все разобрался в чем проблема... но есть еще вопрос. Какие параметры в ConnectionString необязательные?
Вадим К

Вадим К (статус: Академик), 19 мая 2008, 12:54 [#6]:

Ну, раз разобрались, поделились бы со всеми решением.
Какие параметры необязательные? Это вообще то решает сервер. Если не хотите проблем - передавайте всю строку как есть. Хотите разобраться глубже - идите на сайт МСДН и читайте мануалы.
Галочка "подтверждения прочтения" - вселенское зло.
Stepani4

Stepani4 (статус: Посетитель), 20 мая 2008, 01:49 [#7]:

когда строишь ConnectionString с помощь мастера сервер-sql выбирается как "\\Comp1", но в строку подставляется без слэшей "comp1", т.е. надо передовать имя сервера уже без слэшей...
как мог так и объяснил, если не понятно извените...
Вадим К

Вадим К (статус: Академик), 20 мая 2008, 10:05 [#8]:

to Stepani4
как отображает мастер - это его проблемы. а вот как надо передавать серверу - это совсем другое. и те два слеша не есть "необязательным параметром". просто передавать серверу надо в таком формате.
Галочка "подтверждения прочтения" - вселенское зло.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 21 мая 2008, 17:13 [#9]:

чтобы не ломать голову над тем - какие параметры обязательные, а какие нет, можно использовать для построения строки соединения следующее:
var s:string;
....
s:=adodb.PromptDataSource(0,s);
Stepani4

Stepani4 (статус: Посетитель), 23 мая 2008, 11:38 [#10]:

to Мережников Андрей
а можно более подробно? поделитесь опытом.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 24 мая 2008, 07:52 [#11]:

функция adodb.PromptDataSource(0,s) вызывает построитель строки подключения. в параметре S можно передать готовую строку подключения, которую вы хотите посмотреть или отредактировать. Возвращает готовую строку подключения. Которую потом присваиваешь в параметр ConnectionString объекта ADOConnection. Функция находится в модуле ADODB, который в uses вставляется Delphi при использовании компонентов ADO. Проверял, работает.
Stepani4

Stepani4 (статус: Посетитель), 25 мая 2008, 21:09 [#12]:

to Мережников Андрей,
ясно, спс

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 23 июня 2017, 08:12
Выполнено за 0.02 сек.
Рейтинг@Mail.ru