powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Задержки выполнения
13 сообщений из 13, страница 1 из 1
Задержки выполнения
    #32072793
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Visual C имеется DB проект.
Хранимая процедура создает и заполняет множство таблиц в DB.
Если в теле добавляем несколько Select '1' ( как бы для задержки ) , то она нормально завершаеться, а без них
В разное время выполняеться до разного предела и выдает сообщение -
[SQL Server] Internal Query Processor Error: The query encountered an unexpected error during execution.
Спасибо.

2 Kilroy
Все суждения принимаю, тоже считаю, что это решит вопрос, так как можно будет контролировать завершение каждого Select__Insert__ . Однако это уже не в процедуре.
И придеться много чего менять.
Надо искать решение именно с помощью процедуры.

2Glory
Наверняка вариант -
Use t2
GO
select * Into t2..table1 from t1..table1
дала бы решение ( тут тоже ожидание (GO) выполнения предыдущего SELECT , однако в DB проекте под Visual C
не принимаються команда GO.
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072820
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не согласен.

Если в QA процедура отрабатывает без ошибок, то с ней
все в порядке!!! Надо ее лишь правильно запустить из
клиенского приложения, привязав буфер для выходного параметра к команде и отправив выполняться. И все!!!

Но для этого придется вникнуть в ODBC API, а так
я знаю примеры таких процедур с фиктивными select'ами
в досточно серьезных продуктах. Просто народ использует шаблонные библиотеки для работы с базой, и если компонент не понимает - как это дать базе команду и не получить набора данных в ответ - приходится принимать это решение для ленивых.
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072826
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Kilroy

Можете подсказать , каким образом в DB проекте под Visual C , в процедуре, задать команду 'GO' на выполнение предыдущей цепочки команд.
?

Тут уж нет никаких вымыслов от меня
к примеру --

CREATE PROCEDURE Go_example
AS

DECLARE @ii int
DECLARE @ii1 int

while @ii<10
begin
SET @ii =@ii +1
SELECT * FROM ____ -- достаточно большой table
GO -- выполнение (ожидание завершения)
end

проверяйте !
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072854
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GO - это не команда начать выполнение, это банальный разделитель текста в скрипте, понятный QA.
Все программы работают с сервером одинаково:
есть текст, содержащий команды TSQL - их надо выполнить. Приложение выделяет командный буфер и помещает в него кусок команд - содержимое буфера и есть пакет или batch. Так вот QA нарезает текст скрипта по разделителям GO, а как твоя программа будет это делать - зависит от тебя. А в хранимой процедуре никаких пакетов не может быть и разделителей в ее теле
не бывает.
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072871
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим программа есть то , что наверху написанна, и на месте "GO" надобно, чтобы предыдущий SELECT была завершена. Я не представляю, а каких кусках может идти речь.
Подскажи.
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072896
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Она и так будет завершена, без всякого GO.

А по поводу кусков и всего остального, советую почитать
в MSDN или в BOL про разработку клиентских программ
через ODBC. Извини, что к книжкам отсылаю,мне не тяжело все рассказать, просто писать уж больно много придется.
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072905
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Kilroy
А ведь именно этот цикл не работает.
Из имеющиеся таблицы - имен таблиц данного БД,
в цикле , с помощью SELECT * INTO DB2..aaa From DB1..aaa
перебрасываються таблицы в другую БД.

И выходит, что не завершая предыдущий SELECT
требуеться выполнить следующий !

Что скажете?
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072909
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бред какой...
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072910
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в QA работает? или нет?
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072914
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
Код: plaintext
1.
2.
use northwind
exec('use pubs; select * from authors')
--select * from authors


2. Попробуйте ради интереса использовать
sp_executesql
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072973
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ничего не помогло. :-((
...
Рейтинг: 0 / 0
Задержки выполнения
    #32072986
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За 50 долларов США я напишу на С++ (VC++) программу запускающую твою хранимую процедуру на выполнение.
Программа будет работать через ODBC, текст процедуры
модифицироваться не будет, главное, чтобы в QA она
запускалась без ошибок. Если интересно - высылай
скрипты БД.
...
Рейтинг: 0 / 0
Задержки выполнения
    #32073001
YuriAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Kilroy
Спасибо. Она у меня работает .Конечно , не тем путем,
который я предлагал. И еще - о себе суди глазами чужих!
Здесь обсуждаем , почему не работает именно этот алгоритм. Ведь менеджер транзакции должен был следить за всем !
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Задержки выполнения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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