berezdetsky писал(а) 19. Октября 2009 :: 16:58:gls писал(а) 19. Октября 2009 :: 13:44:т.е. временная таблица, созданная в том же подключении по какой-то причине не дропнулась
Странный вывод, никак не следующий из скрипта и текста ошибки. А для чего у тебя в спДок дубли?
И да, удалять её руками - не нужно.
в спДок - дублей нет. в приведенном примере - в списке всего 1 документ.
последовательность действий, которая привела к ошибке:
1. программно провожу док, ошибка - Invalid object name '#спДок'
2. профайлером отлавливаю код (приведен ранее): дроп таблицы (если есть), создание, вставка 1 значения. запрос, использующий #спДок дает ошибку (нет #спДок)
далее - беру код из профайлера, выполняю в QA и сразу получаю ошибку о наличии дубликатов в первичном ключе
смотрю темповую базу. вижу в ней 2 таблички #спДок - отсюда вывод - временная таблица не дропается.
пытаюсь удалить руками - не удаляет - говорит таблица не содержится в системном каталоге.
п.с. гугл сказал, что проблема в методе УложитьСписокОбъектов не только у меня, но причину найти не удалось.
апд. в темповой базе вторая табличка от другого коннекта, временная таблица дропается.
ошибку о наличии дубликатов в пк выдается на инструкции: exec sp_execute @P1, ' EGR CQBD '
это код, который
автоматически генерится при использовании метода УложитьСписокОбъектов().