|
В базе данных уже существует объект с именем "#tt1" | ☑ | ||
---|---|---|---|---|
0
Werios
27.01.14
✎
14:56
|
Добрый день всем.
Вот в чем проблема. Я использую 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
degot
27.01.14
✎
15:07
|
по 1 пункту у меня такая же фигня точь в точь была после перехода на 8.3
|
|||
2
Werios
28.01.14
✎
11:08
|
Вопрос еще актуален
|
|||
3
Werios
28.01.14
✎
12:40
|
Программа с этой ошибкой падает при
!!! ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Вот Кусок Кода ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); |
|||
4
Господин ПЖ
28.01.14
✎
12:42
|
#tt1 - временная таблица (с) ко
|
|||
5
Maxus43
28.01.14
✎
12:43
|
попробуй принудительно в запросе уничтожать временные таблицы ненужные сразу
|
|||
6
Werios
28.01.14
✎
13:08
|
Вопрос только - КАК ЭТО СДЕЛАТЬ
Это не прокатывает - Запрос = Новый Запрос; Запрос.Текст = "УНИЧТОЖИТЬ #tt1"; Запрос.Выполнить(); Ошибка исполнения отчета по причине: Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата' по причине: {Отчет.ПланФактБюджета.МодульОбъекта(136)}: Ошибка при вызове метода контекста (Выполнить) Запрос.Выполнить(); по причине: {(1, 12)}: Не установлен менеджер временных таблиц УНИЧТОЖИТЬ <<?>>#tt1 |
|||
7
Господин ПЖ
28.01.14
✎
13:13
|
>#tt1
не факт что эта времянка имеет свой "прототип" в запросе |
|||
8
МихаилМ
28.01.14
✎
13:16
|
1c8.2 может не удалять временные таблицы.
даже если в запросе указана команда удалить. как временная мера , увеличьте число рабочих процессов. |
|||
9
Maxus43
28.01.14
✎
13:20
|
#tt1 - это внутреннее имя таблицы в скуле, у тебя они называются ПОМЕСТИТЬ втЧотоТам, и УНИЧТОЖИТЬ надо именно втЧотоТам
|
|||
10
Werios
28.01.14
✎
13:33
|
(9)
Плохо ты знаешь Скуль. она именно #tt1 а вот в куле она что то типа #tt1____________________098776978 |
|||
11
МихаилМ
28.01.14
✎
13:38
|
(10)
" типа #tt1____________________098776978" она в базе tempdb . в контексте подключения она #tt1. |
|||
12
Maxus43
28.01.14
✎
13:39
|
(10) в 1с она у тебя не #tt1, я про это
|
|||
13
Werios
28.01.14
✎
14:04
|
(12)
она там #tt1 ее в скуле даже увидеть можно, но на этом все )))) Все временные таблице содержат в себе настоящее имя, только к этому имени плюсуется префикс подключения типа "_______69786987" чето уже все перепробовал ни что не помогает избавиться от этой гребаной #tt1 |
|||
14
Maxus43
28.01.14
✎
14:11
|
кто она там? В Запросе 1с она у тебя не #tt1,
если ты в 1с пишешь УНИЧТОЖИТЬ, то и писать надо не #tt1, а то, что у тебя в ПОМЕСТИТЬ... я вкурсе какая она в скуле и где её увидеть, но для её уничтожения тебе эта информация вобще не нужна |
|||
15
Maxus43
28.01.14
✎
14:12
|
вобще на ошибку платформы похоже это всё, погляди в списках ошибок на сайте 1с
|
|||
16
degot
28.01.14
✎
16:32
|
попробуй следующее:
перейти на 8.3.4.389 или последнюю (не помню) отключить режим совместимости если есть |
|||
17
Werios
28.01.14
✎
16:37
|
(16)
читай 0 Пробовал не помогло |
|||
18
neckto
28.01.14
✎
16:49
|
(0) Всегда есть вариант Drop Table перед выполнением запроса
|
|||
19
Werios
28.01.14
✎
17:10
|
(18)
Поведай эту тайну как это сделать для таблички созданной самой платформой, в ее выдуманном сеансе |
|||
20
МихаилМ
28.01.14
✎
17:11
|
(19)
в мс скл 2000 такое возможно. |
|||
21
МихаилМ
28.01.14
✎
17:12
|
+(20)
из другого подключения манипулировать временными таблицами |
|||
22
Werios
28.01.14
✎
17:17
|
(21)
только нужно знать какая именно таблица #tt1 тебе нужна. народ то работает и плодит их. я решил СКД перерисовать сейчас посмотрю что получится. |
|||
23
m-serg74
28.01.14
✎
17:29
|
(19) /для таблички созданной самой платформой/
а внешние данные кто и как получает? |
|||
24
Господин ПЖ
28.01.14
✎
17:32
|
>из другого подключения манипулировать временными таблицами
а сеанс будет один и тот же в sql? |
|||
25
Werios
28.01.14
✎
17:38
|
(23)
ты про что. Падает она здесь ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); а это компилятор платформы. |
|||
26
m-serg74
28.01.14
✎
17:46
|
(25) а это ты про что в (0)
/Я использую 1с 8.3 для получения данных из внешних источников/ |
|||
27
m-serg74
28.01.14
✎
17:53
|
я так понимаю там запрос к СКЛ напрямую, и именно там создается эта временная таблица, но не удаляется... при повторной попытке создать вторую с таким именем как уже есть и получается ошибка, ИМХО перед созданием ВТ нужно проверить если есть с таким именем, то сначали дропнуть ее, а уж потом создавать, да и потом не плохо б было почистить за собой еже ли она уже не нужна... хотя после закрытия сеанса все что насоздавал само конечно очиститься... вроде как...
|
|||
28
Werios
28.01.14
✎
18:02
|
(27)
Нет там ее в помине нет. Я там вообще временных таблиц не юзаю. читай (25) |
|||
29
m-serg74
28.01.14
✎
19:55
|
(28) ну отсюда не видно что ты там юзаешь, а то что в (25) - ни о чем не говорит. Так же как при выполнении запроса ошибка пишется:
Ошибка - Запрос.Выполнить(); косяк то не в этой строке, а в самом запросе... |
|||
30
Werios
29.01.14
✎
08:44
|
(29)
В компановки юзаю таблицы значений. Соответственно лефт джойты. посторыбую подготовить данные так, что бы в компановке осталась одна таблица данных, возможно тогда он не будет создавать временных таблиц интерпретируя запрос. |
|||
31
Werios
30.01.14
✎
16:07
|
Решение:
Вчера на SQL серваке сделали Очистку процедурного кэша. Сегодня ни 1-й ни 2-й ошибки не наблюдается. Возможно помог переход на 8.3.4.389 + Очистка процедурного кэша. Если ошибки появятся отпишусь. Всем спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |