powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ado+Delphi
4 сообщений из 4, страница 1 из 1
Ado+Delphi
    #32289767
Фотография ksena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программа под MSSQL на Делфи.
Стоит зада. При загрузке нужно подключать базу, которая находится на переносном диске. Т. е. делать attach
Для запуска процедуры подсоединения использую ADOCommand, подключаемый через ConnectionString к базе master на (local).
В программе пишу:
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOCommand1.CommandText:='EXEC sp_attach_db @dbname = ''veks'','+
'@filename1 = ''d:\Dat_veks\veks_data.mdf'','+
'@filename2 = ''d:\Dat_veks\veks_log.ldf''';
ADOCommand1.Execute;
end;
Для непосредственного соединения с приаттаченой базой использую затем ADOConnection.
Все нормально работает, база лепицца красиво.
При выходе мне нужно ее отсоединить.
Пытаюсь сделать так:
procedure TForm1.ADOConnection1AfterDisconnect(Sender: TObject);
begin
ADOCommand1.CommandText:='EXEC sp_detach_db ''veks'', ''true''' ;
ADOCommand1.Execute;
end;

Результат - либо просто ноль реакции, а база на месте,не удаляется. Либо выдается какая-то дикая ошибка по файлу проекта.
Что я делаю не так? Помогите пожалуйста, работа срочная....
...
Рейтинг: 0 / 0
Ado+Delphi
    #32289830
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да все ты так делаешь. Тока отцепить базу не можешь скорее всего из-за вот этой вот ошибки:

Server: Msg 3701, Level 16, State 1, Line 1
Cannot detach the database 'pubs' because it is currently in use.


Т.е. детач можно сделать тока с базой, которая счас ни кем не используется.

А происходит это наверняка из-за того, что несмотря на то, что ты закрыла соединение, но из-за включенного по умолчанию пуллинга соединений ADO, твой коннект все равно висит. Попробуй отключить ADO pooling, добавив в строку подключения следующее

Код: plaintext
OLE DB Services = - 2 ;


Хотя, могут и еще открытые коннекты быть к базе, глянь в EM.
...
Рейтинг: 0 / 0
Ado+Delphi
    #32289866
Фотография ksena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавила в ADOConnection1.connectionString так?
еще какая-то ошибка выскочила
похожая на предыдущую


а сообщение такое выпадало
когда я разные варианты пробовала :))
...
Рейтинг: 0 / 0
Ado+Delphi
    #32289969
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну посмотри через sp_who, кто у тебя в базе еще сидит. Мож Delphi c открытым коннектом или еще кто.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ado+Delphi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]