В базе данных уже существует объект с именем "#tt1" #696251


#0 by Werios
Добрый день всем. Вот в чем проблема. Я использую 1с 8.3 для получения данных из внешних источников, но периодически получаю ошибки такого рода: 1. Платформа: 1С:Предприятие 8.3 (8.3.3.658) Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия) Вариант интерфейса: Версия 8.2 Ошибки: -------------------------------------------------------------------------------- 24.01.2014 11:16:59 Ошибка внешней базы данных: ошибка при выполнении запроса по причине: Ошибка ODBC. SQLSTATE: 42S01 Номер ошибки: 2714 Описание: [Microsoft][ODBC SQL Server Driver][SQL Server]В базе данных уже существует объект с именем "#tt1". 2. Частенько при получении представления внешних источников он пишет "Ошибка получения представления". При чем частично он отображает верно, такое осушение что он качает их из какого то временного хранилища. В инете искал инфу, ничего путного. Обновил платформу до 8.3.4.389 не помогло. Ставил совместимость 8.2.16 тоже не катит. Эти ошибки доставляют массу проблем по работе с данными. Подскажите как от этого избавиться или куда копать. Может есть вариант дропить временную таблицу из под сеанса 1с.
#1 by degot
по 1 пункту у меня такая же фигня точь в точь была после перехода на 8.3
#2 by Werios
Вопрос еще актуален
#3 by Werios
Программа с этой ошибкой падает при Вот Кусок Кода ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
#4 by Господин ПЖ
#tt1 - временная таблица (с) ко
#5 by Maxus43
попробуй принудительно в запросе уничтожать временные таблицы ненужные сразу
#6 by Werios
Вопрос только - КАК ЭТО СДЕЛАТЬ Это не прокатывает - Ошибка исполнения отчета по причине: Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата' по причине: {Отчет.ПланФактБюджета.МодульОбъекта}: Ошибка при вызове метода контекста (Выполнить)     Запрос.Выполнить; по причине: {(1, 12)}: Не установлен менеджер временных таблиц УНИЧТОЖИТЬ <<?>>#tt1
#7 by Господин ПЖ
>#tt1 не факт что эта времянка имеет свой "прототип" в запросе
#8 by МихаилМ
1c8.2 может не удалять временные таблицы. даже если в запросе указана команда удалить. как временная мера , увеличьте число рабочих процессов.
#9 by Maxus43
#tt1 - это внутреннее имя таблицы в скуле, у тебя они называются ПОМЕСТИТЬ втЧотоТам, и УНИЧТОЖИТЬ надо именно втЧотоТам
#10 by Werios
Плохо ты знаешь Скуль. она именно #tt1 а вот в куле она что то типа #tt1____________________098776978
#11 by МихаилМ
она в базе tempdb . в контексте подключения она #tt1.
#12 by Maxus43
в 1с она у тебя не #tt1, я про это
#13 by Werios
она там #tt1 ее в скуле даже увидеть можно, но на этом все )))) Все временные таблице содержат в себе настоящее имя, только к этому имени плюсуется префикс подключения типа "_______69786987" чето уже все перепробовал ни что не помогает избавиться от этой гребаной #tt1
#14 by Maxus43
кто она там? В Запросе 1с она у тебя не #tt1, если ты в 1с пишешь УНИЧТОЖИТЬ, то и писать надо не #tt1, а то, что у тебя в ПОМЕСТИТЬ... я вкурсе какая она в скуле и где её увидеть, но для её уничтожения тебе эта информация вобще не нужна
#15 by Maxus43
вобще на ошибку платформы похоже это всё, погляди в списках ошибок на сайте 1с
#16 by degot
попробуй следующее: перейти на 8.3.4.389 или последнюю (не помню) отключить режим совместимости если есть
#17 by Werios
читай 0 Пробовал не помогло
#18 by neckto
Всегда есть вариант Drop Table перед выполнением запроса
#19 by Werios
Поведай эту тайну как это сделать для таблички созданной самой платформой, в ее выдуманном сеансе
#20 by МихаилМ
в мс скл 2000 такое возможно.
#21 by МихаилМ
+ из другого подключения манипулировать временными таблицами
#22 by Werios
только нужно знать какая именно таблица #tt1 тебе нужна. народ то работает и плодит их. я решил СКД перерисовать сейчас посмотрю что получится.
#23 by m-serg74
/для таблички созданной самой платформой/ а внешние данные кто и как получает?
#24 by Господин ПЖ
>из другого подключения манипулировать временными таблицами а сеанс будет один и тот же в sql?
#25 by Werios
ты про что. Падает она здесь ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); а это компилятор платформы.
#26 by m-serg74
а это ты про что в /Я использую 1с 8.3 для получения данных из внешних источников/
#27 by m-serg74
я так понимаю там запрос к СКЛ напрямую, и именно там создается эта временная таблица, но не удаляется... при повторной попытке создать вторую с таким именем как уже есть и получается ошибка, ИМХО перед созданием ВТ нужно проверить если есть с таким именем, то сначали дропнуть ее, а уж потом создавать, да и потом не плохо б было почистить за собой еже ли она уже не нужна... хотя после закрытия сеанса все что насоздавал само конечно очиститься... вроде как...
#28 by Werios
Нет там ее в помине нет. Я там вообще временных таблиц не юзаю. читай
#29 by m-serg74
ну отсюда не видно что ты там юзаешь, а то что в - ни о чем не говорит. Так же как при выполнении запроса ошибка пишется: Ошибка - Запрос.Выполнить; косяк то не в этой строке, а в самом запросе...
#30 by Werios
В компановки юзаю таблицы значений. Соответственно лефт джойты. посторыбую подготовить данные так, что бы в компановке осталась одна таблица данных, возможно тогда он не будет создавать временных таблиц интерпретируя запрос.
#31 by Werios
Решение: Вчера на SQL серваке сделали Очистку процедурного кэша. Сегодня ни 1-й ни 2-й ошибки не наблюдается. Возможно помог переход на 8.3.4.389 + Очистка процедурного кэша. Если ошибки появятся отпишусь. Всем спасибо.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С