powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
8 сообщений из 8, страница 1 из 1
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
    #32345998
orega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В программе ставлю компонент ADOconnection. Через него цепляю
компонент ADOCommand(или ADOQuery) к серверу SQL6.5
В цикле меню текст выполняемого запроса(данных не возвращает.)
В трейсе обнаруживаю, что прежде, чем выполнить запрос на сервере создается с/процедура с текстом моего запроса. Причем не с первого раза.
Потом выполняется сам запрос. С/процедура попадает в TempDB и, если запросов много, напрочь его забивает. Если я отцепляю свою прогу, то только после прошествии 2-5 минут в с/процедуры начинают удаляться из TempDb. Посоветуйте, как выполнять запросы не создавая с/процедур?
Сами запросы обычные, тип " select...." или "insert....."
мой адрес: orega@mail.ru
...
Рейтинг: 0 / 0
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
    #32346011
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А свойство Prepared у вас во что установлено?

авторС/процедура попадает в TempDB и, если запросов много, напрочь его забивает.

Счего вы это взяли, и кто кого забивает?
...
Рейтинг: 0 / 0
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
    #32346059
orega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Свойство Prepared - false
а по поводу забития, я же вижу что в момет выполнения происходит, и чем TempDB заполняется...
...
Рейтинг: 0 / 0
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
    #32346076
orega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поясню на примере:
на форму поставить 3 компонента:
AdoConnect, ADOQuery, и кнопку.
Настроить первый на соединение с SQL6.5
Настроить второй на соединение с первым.
По нажатию кнопки простенький запрос на заполенение (например)

procedure TForm1.Button1Click(Sender: TObject);
var
I : Integer;
Str : String;
begin
for I := 100 to 110 do
begin
With ADOQuery1 do
begin
SQL.Clear;
Str := ' insert pro.pro '
+ ' values('
+ IntToStr(100+I)
+ ','''
+ 'Проба'
+ IntToStr(100+I)
+ ''')';
SQL.Add(Str);
ExecSQL;
end;
end;
end;
после выполнения в трейсе вижу:

create proc #oledbзкщ1 as insert pro.pro values(250,'Проба250')
go
-- 08.12.2003 10:39:08,723 Duration 0,013, CPU 0,000, Reads 2, Writes 1

SET NO_BROWSETABLE ON
go
SET FMTONLY ON exec #oledbsubs1 SET FMTONLY OFF
go
SET NO_BROWSETABLE OFF
go
-- 08.12.2003 10:39:08,723 Duration 0,000, CPU 0,000, Reads 0, Writes 0

insert pro.pro values(250,'Проба250')
go

и так далее...
...
Рейтинг: 0 / 0
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
    #32346092
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вероятно, у вас доступ через ODBC и в настройках ODBC-алиаса поставлена галочка на "создавать временные хранимые проседуры ....".
Решение простое - найти эту галочку и снять.
Только я очень сомневаюсь, что проблемы связаны с этим.
...
Рейтинг: 0 / 0
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
    #32346102
orega
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет.
В строке соединений записываю:
Provider=SQLOLEDB.1;Password=**;Persist Security Info=True;User ID=***;Initial Catalog=*******;Data Source=******
...
Рейтинг: 0 / 0
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
    #32346182
Фотография Hermitap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADO не родная библиотека к доступу 6.5 серверу.
Dblibrary вот родная библиотека. С ней все корректно работается.

Я пытался писать через Адо с 6.5
тормоза.
все тоже самое через БДЕ работало на ура.
все тоже самое на Адо прекрасно работает в 2000
...
Рейтинг: 0 / 0
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
    #32346233
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ строке соединений записываю:
Provider=SQLOLEDB.1;Password=**;Persist Security Info=True;User ID=***;Initial Catalog=*******;Data Source=******

Тогда предположу, что OLEDB-провайдер из-за отсутствия на sql6.5 процедур sp_execute, sp_prepare, пытается эмулировать это дело через создание временных хранимых процедур. В этом случае можно попытаться в строку соединения поместить параметр "use procedure for prepare=0;". А для того чтобы хранимые процедуры удалялись из tempdb не через пару минут, а сразу после закрытия коннекта, надо отключать пул коннектов, например, через задание параметра строки соединения "OLE DB Services=-2;"
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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