Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
|
|||
|---|---|---|---|
|
#18+
В программе ставлю компонент ADOconnection. Через него цепляю компонент ADOCommand(или ADOQuery) к серверу SQL6.5 В цикле меню текст выполняемого запроса(данных не возвращает.) В трейсе обнаруживаю, что прежде, чем выполнить запрос на сервере создается с/процедура с текстом моего запроса. Причем не с первого раза. Потом выполняется сам запрос. С/процедура попадает в TempDB и, если запросов много, напрочь его забивает. Если я отцепляю свою прогу, то только после прошествии 2-5 минут в с/процедуры начинают удаляться из TempDb. Посоветуйте, как выполнять запросы не создавая с/процедур? Сами запросы обычные, тип " select...." или "insert....." мой адрес: orega@mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2003, 09:40 |
|
||
|
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
|
|||
|---|---|---|---|
|
#18+
А свойство Prepared у вас во что установлено? авторС/процедура попадает в TempDB и, если запросов много, напрочь его забивает. Счего вы это взяли, и кто кого забивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2003, 09:52 |
|
||
|
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
|
|||
|---|---|---|---|
|
#18+
Свойство Prepared - false а по поводу забития, я же вижу что в момет выполнения происходит, и чем TempDB заполняется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2003, 10:26 |
|
||
|
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
|
|||
|---|---|---|---|
|
#18+
Поясню на примере: на форму поставить 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 и так далее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2003, 10:41 |
|
||
|
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
|
|||
|---|---|---|---|
|
#18+
Вероятно, у вас доступ через ODBC и в настройках ODBC-алиаса поставлена галочка на "создавать временные хранимые проседуры ....". Решение простое - найти эту галочку и снять. Только я очень сомневаюсь, что проблемы связаны с этим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2003, 10:49 |
|
||
|
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
|
|||
|---|---|---|---|
|
#18+
Нет. В строке соединений записываю: Provider=SQLOLEDB.1;Password=**;Persist Security Info=True;User ID=***;Initial Catalog=*******;Data Source=****** ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2003, 10:53 |
|
||
|
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
|
|||
|---|---|---|---|
|
#18+
ADO не родная библиотека к доступу 6.5 серверу. Dblibrary вот родная библиотека. С ней все корректно работается. Я пытался писать через Адо с 6.5 тормоза. все тоже самое через БДЕ работало на ура. все тоже самое на Адо прекрасно работает в 2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2003, 11:42 |
|
||
|
DELPHI6 + ADO + SQL 6.5 кто из них САМ создает процедуру, которая мне не нужна?
|
|||
|---|---|---|---|
|
#18+
авторВ строке соединений записываю: 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;" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2003, 12:07 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32346182&tid=2115557]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 343ms |

| 0 / 0 |
