Доброго времени суток!
Имеется:
1С:Предприятие 8.2 (8.2.19.130) в режиме совместимости с 8.1
SQL Server 2012
ОС Win Server 2012 R2 64-bit
В базе есть Справочник. Среди реквизитов имеем 4 с типом «Хранилище данных». Сейчас наткнулся на 2 элемента этого справочника, при попытке открыть которые возникает ошибка (после чего 1С-ка закрывается):
Ошибка СУБД Interface 0c733a7c-2a1c-11ce-ade5-00aa0044773d
Ошибка возникает при любой попытке открыть\получить объект (программно или визуально). Почитал на форумах, народ пишет, что подобное решается перезагрузкой сервера — попробовал, не помогает. Так же рекомендовали настройку:
«установка ключей /PAE и /3GB в boot.ini, а так же AWE на SQL»
Но когда начал капать, то вижу, что «/PAE и /3GB в boot.ini» касается в основном проблем с Win Server 2003.
ВОПРОС — куда еще капать и как решить проблему?
На ИТС часто даются описания кодов ошибок, но они не всегда исчерпывающие. В этой статье мы будем пытаться продолжать «исчерпывать» 🙂
При эсклуатации баз данных 1С вы можете сталкнуться с такой ситуацией:
Сеанс работы завершен администратором.
по причине:
Соединение с сервером баз данных разорвано администратором
Microsoft OLE DB Provider for SQL Server: Неопознанная ошибка
HRESULT=80004005
Признаки проблемы: нельзя выгрузить в dt
Внимание! Ошибок с кодом 80004005 уйма, более подробно классофикацию я описал здесь http://www.gilev.ru/1c/mssql/errsql.htm . Здесь же мы говорим именно о «неопознанной ошибке» 🙂
Сотрудники 1С рекомендуют решать проблему так:
1. Проверить конфигурацию на наличие некорректной информации (мусора). Для этого следует выполнить команду «Проверка конфигурации» с установленным флажком «Проверка логической целостности конфигурации». При выявлении проблем будет выдано сообщение. Некорректная информация при этом будет удалена автоматически, однако следует обеспечить доступность для изменения корневого объекта конфигурации (напимер, при работе с хранилищем его следует захватить).
2. Если Ваша конфигурация находится на поддержке, следует подобным образом проверить конфигурацию поставщика. Для этого в настройке поддержки следует сохранить конфигурацию поставщика в cf файл, загрузить его в новую базу и выполнить описанную в пункте 1 процедуру. В случае, если было получено сообщение об исправлении, значит конфигурация поставщика содержит некорректную информацию. В этом случае следует снять Вашу конфигурацию с поддержки и заново поставить путем объединения со свежим релизом конфигурации поставщика. В настоящее время все релизы выпускаемые 1С проходят проверку и выпускаются без данной проблемы.
Нюансы: обратите внимание, что «Стандартные проверки» платформой (chdbfl, в конфигураторе) упорно говорят, что с базой все ОК.
Также с этой ситуацией пересекается следующая ситуация:
10007066 Запись данных, содержащих колонки типа ХранилищеЗначения
Проблема:
При использовании СУБД MS SQL SERVER при записи объекта базы данных, содержащего несколько колонок типа ХранилищеЗначения, данные для которых получены из файлов, может происходить ошибка
Ошибка СУБД:Microsoft OLE DB Provider for SQL Server: String data length mismatchHRESULT=80004005и аварийное завершение работы программы.
Дата публикации: 2008-11-13
http://users.v8.1c.ru/ErrCS_8_1_12_101.aspx
Суть проблемы: важно, что под это сообщение об ошибке могут подпадать разные причины, но у них есть общая часть для 1С — это не достаточно оперативной памяти. А еще точнее неэффектиное использование ресурсов памяти. Отсюда косвенные способы победить проблему: путем рестарта сервера (на некотрое время становиться больше доступной памяти) или перейти на 64-разрядный сервер приложений. По опыту проблема связана с хранением данных в реквизите хранилище значений либо наличием в таблице config двоичных данных БОЛЬШЕ 120 mb.
Обобщенные рекомендации, если рекомендации от 1С не помогли (проделать следующие действия в указанном порядке):
1. Выключить все фоновый задачи у всех баз
В 8.1.11 появился переключатель «запрет на фоновые задания» в
момент создания базы.
Готов пояснить, фоновые задания сами по себе не зло, но регламентные процедуры
с полнотекстовым поиском — вещь в себе — и память она может через какое время
съедать ресурсы rphost.exe, что на другие операции не останеться, и просто
базу блокировать
т.е. другими словами, после первого шага уже можно проверять — возможно проблема «уйдет».
2. Перезапустить сервер
Второй шаг является частным случаем для вашего случая и после него тоже
есть смысл проверять работоспособность. Однако поскольку существуют утечки памяти http://www.gilev.ru/1c/memleak, то через некоторое время после рестарта пролема может вернуться.
3) делаем бэкап средствами sql
Делать резервное копирование рекомендую при любых действиях, когда может потребоваться «возврат» к предыдущему состоянию данных
4) снимаем базу с поддержки, выгружаем cf
убиваем в менежмент консоли базе данных в таблице config запись более 120Мб, делаем «загрузить конфигурацию» (не объединение) убиваем в менежмент консоли базе данных в таблице config запись более 120Мб, делаем «загрузить конфигурацию» (не объединение)
вот пример работоспособности этого приема
http://partners.v8.1c.ru/forum/thread.jsp?id=543293
можно попробывать и более радикальный шаг здесь:
удаляем (в менежмент консоли) в базе данных таблицу «config»
DROP TABLE [dbo].[Config]
5) делаем «загрузить конфигурацию» (не объединение) из cf
после этого проверяем, проблема уходит.
P.S. Если у Вас есть возможность поделиться своим опытом, то давайте расширим данный материал.
HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more…
open
8.3.21-+ Невосстановимая ошибка при чтении строки регистра с большим текстом
Description
https://partners.v8.1c.ru/forum/t/2041920/m/2041920
Конфигурация ПО
MSSQL, 1С 8.3.21.1140, не проверял на других версиях платформы
Проблема
Невосстановимая ошибка при чтении строки регистра с большим текстом
Воспроизведение
Восстановить базу из выгрузки в клиент-серверной БД на MSSQL. Запустить управляемое приложение и нажать кнопку «Команда1». При этом выполнится код
мен = РегистрыСведений.РегистрСведений1.СоздатьМенеджерЗаписи();
ЗХ = Новый ЗаписьXML;
ЗХ.УстановитьСтроку(«»);
Для Счетчик = 1 По 10000000 Цикл
ЗХ.ЗаписатьБезОбработки(«0123456789»);
КонецЦикла;
мен.Ресурс1 = ЗХ.Закрыть();
НачатьТранзакцию();
мен.Записать();
мен.Прочитать();
ОтменитьТранзакцию();
И будет записана в регистр строка длиной 100 000 000 символов, а при ее чтении приложение уже завершится с ошибкой:
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка СУБД:
Interface 0c733a7c-2a1c-11ce-ade5-00aa0044773d with HRESULT=0x00040EDA
Сама ошибка возникает при чтении менеджера записи.
Транзакция не влияет на появление ошибки и добавлена только для сокращения размера тестовой базы. Если транзакцию убрать и затем попытаться очистить этот регистр из встроенного языка, то возникает аналогичная ошибка.
Files
- Description updated (diff)
- Description updated (diff)
Also available in: Atom
PDF
Пишу код для копирования данных с файлов Access и Excel в другую БД.
Драйверы для работы с провайдером OLE взял с официального сайта Microsoft, так называемые Access Database Engine для x64 платформы (пишу под Windows 7 x64).
Код:
...
var values = new object[fieldsNum];
while (reader.Read())
{
reader.GetValues(values);
}
...
Где reader
— уже проинициализированный IDataReader
(OleDbDataReader
).
При попытке осуществить чтение из reader
вываливается exception:
Unable to cast COM object of type ‘System.__ComObject’ to interface
type ‘IRowset’. This operation failed because the QueryInterface call
on the COM component for the interface with IID
‘{0C733A7C-2A1C-11CE-ADE5-00AA0044773D}’ failed due to the following
error: No such interface supported (Exception from HRESULT: 0x80004002
(E_NOINTERFACE)).
Для других DataReader
‘ов код работает (SqlServer
, MySql
).
Пытался установить 32-битные драйвера OleDb — программа вообще их не видит, так как компиляция под x64.
Regent
19.1k6 золотых знаков30 серебряных знаков44 бронзовых знака
задан 26 июн 2015 в 10:47
3
Попытка создания и вызова COM-компонента из разных апартаментов (STA/MTA) может приводить к ошибками маршалинга.
При создании экземпляра OleDbDataReader
в UI потоке, вы создаете его в STA апартаменте. При вызове методов с помощью BackgroundWorker
, вы вызываете его из MTA апартамента (из пула потоков).
Разъяснения от Microsoft насчет OleDbDataReader
:
Используйте объект OleDb из того же STA апартамента, в котором он был
создан. Либо из любого MTA апартамента, если он был создан в MTA.
ответ дан 26 июн 2015 в 12:25
andreychaandreycha
25k4 золотых знака45 серебряных знаков81 бронзовый знак
Ошибка СУБД при входе
Гость 0 — 30.05.2013 — 05:45 |
При входе в базу у некоторых пользователей возникает ошибка, сразу после авторизации помогает только перезагрузка сервера
Невосстановимая ошибка Документооброт 1.2.8.1, платформа 8.2.18.82
|
|
Гость 1 — 30.05.2013 — 05:54 |
база на SQL
|
|
Гость 2 — 30.05.2013 — 07:12 |
У некоторых пользователей удалить базу из списка, потом добавить заново.
|
|
Гость 3 — 30.05.2013 — 07:54 |
не поможет такой вариант. запуск настроен через цитрикс сразу определенной базы по ярлыку. Пробовал даже с локально установленной 1с ки подключиться к базе под этим пользователем — результат тот же…
|
|
Гость 4 — 30.05.2013 — 07:58 |
он намекает на очистить кеш
|
|
Гость 5 — 30.05.2013 — 09:03 |
4-101 > вот с этого места пожалуйста подробнее — где что почистить? на сервере?
|
|
Гость 6 — 30.05.2013 — 09:04 |
http://help1c.com/faq/view/1267.html | |
Гость 7 — 30.05.2013 — 09:08 |
+ естественно , где запускается 1С
|
|
Гость 8 — 30.05.2013 — 09:28 |
6-101 > спасибо! очень полезная ссылочка!
|
|
Гость 9 — 27.02.2015 — 09:25 |
Вот еще парочка вариантов решения, может помочь) |
|
Гость 10 — 27.02.2015 — 09:52 |
KittyJane, ну как же без шпингалетов то из Нижнего Тагила
|
|
Гость 11 — 27.02.2015 — 10:03 |
nordbox, ну так-то может предотвратить проблему, ну то такое
|
|
Uho 12 — 27.02.2015 — 10:34 |
11-KittyJane > ссылки из (9) к теме вообще никакого отношения не имеют
|
|
Uho 13 — 27.02.2015 — 10:35 |
и ваще, KittyJane — некроапщик?
|
|
Гость 14 — 27.02.2015 — 10:46 |
Uho, что такое некроапщик о_О
|
|
Климов Сергей 15 — 27.02.2015 — 10:57 |
2(14)Он же некропостер. Любитель тормошить мертвецов. Человек, поднимающий на форумах старые и никому не нужные ветки.
|