Я думаю каждый хоть раз, но сталкивался с ошибкой 1С Соединение с сервером баз данных разорвано администратором Microsoft SQL Server Native Client 10.0: Неопознанная ошибка HRESULT=80004005
Вот некоторые способы, которые помогут решить данную проблему:
1. Проверить конфигурацию на наличие некорректной информации (мусора). Для этого следует выполнить команду “Проверка конфигурации” с установленным флажком “Проверка логической целостности конфигурации”. При выявлении проблем будет выдано сообщение. Некорректная информация при этом будет удалена автоматически, однако следует обеспечить доступность для изменения корневого объекта конфигурации (напимер, при работе с хранилищем его следует захватить).
2. Если Ваша конфигурация находится на поддержке, следует подобным образом проверить конфигурацию поставщика. Для этого в настройке поддержки следует сохранить конфигурацию поставщика в cf файл, загрузить его в новую базу и выполнить описанную в пункте 1 процедуру. В случае, если было получено сообщение об исправлении, значит конфигурация поставщика содержит некорректную информацию. В этом случае следует снять Вашу конфигурацию с поддержки и заново поставить путем объединения со свежим релизом конфигурации поставщика. В настоящее время все релизы выпускаемые 1С проходят проверку и выпускаются без данной проблемы.
3. Также с этой ситуацией пересекается следующая ситуация:
10007066 Запись данных, содержащих колонки типа ХранилищеЗначения
Проблема:
При использовании СУБД MS SQL SERVER при записи объекта базы данных, содержащего несколько колонок типа ХранилищеЗначения, данные для которых получены из файлов, может происходить ошибка
Ошибка СУБД:Microsoft OLE DB Provider for SQL Server: String data length mismatchHRESULT=80004005и аварийное завершение работы программы.
Включив технологический журнал на время загрузки, можно определить таблицу, в которой содержатся такие хранилища. Найдите средствами MS SQL Server Query Analizer в этой таблице колонки типа image. Для каждой колонки типа image выполните запрос вида:
S_elect top 10 DATALENGTH(_Fld4044)
from _InfoReg4038
order by DATALENGTH(_Fld4044) desc
Нюансы: обратите внимание, что ”Стандартные проверки” платформой (chdbfl, в конфигураторе) упорно говорят, что с базой все ОК.
Суть проблемы: важно, что под это сообщение об ошибке могут подпадать разные причины, но у них есть общая часть для 1С – это не достаточно оперативной памяти. А еще точнее неэффектиное использование ресурсов памяти. Отсюда косвенные способы победить проблему: путем рестарта сервера (на некотрое время становиться больше доступной памяти) или перейти на 64-разрядный сервер приложений.
1С:Предприятие 8.2. Лицензия на сервер (x86-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
или
1. Открыть конфигратор;
2. Снял конфигурацию с поддержки, ПРИ ЭТОМ КОНФИГУРАЦИЮ НЕ СОХРАНЯЛ!
3. Далее Сохранить конфигурацию в файл (не сохраняя измененной конфигурации);
4. В SQL для требуемой базы выполнил следующую команду:
DELETE FROM dbo.Config WHERE DataSize > 125829120
5. Загрузить сохраненную конфигурацию обратно.
Взято с http://www.forum.mista.ru/topic.php?id=465608
можно попробовать и более радикальный шаг здесь:
удаляем (в менеджмент консоли) в базе данных таблицу “config”
D_rop TABLE [dbo].[Config]
5) делаем “загрузить конфигурацию” (не объединение) из cf
после этого проверяем, проблема уходит.
6) Ошибка :"Соединение с сервером баз данных разорвано администратором
Microsoft OLE DB Provider for SQL Server: Неопознанная ошибка
HRESULT=80004005"
Имеем : 1C 8.1.13.41 УПП 1.2.19.21 на MS SQL 2005 SP3 на Win2003 Server Enterprise на компе 4Gb физ. памяти (SQL настроен на Max Memory 2Gb)
Решение в моем случае:
Виндовс по-умолчанию 2Гб берет себе, а 2 отдает нам. SQL почти всю остальную память поедал (в настройках стоит 2Gb) и оставлял для всех остальных только 128Мб физ. памяти(как и положено SQL- он не должен забирать ВСЁ, должен 128 оставить). Ошибка 1С начала проявляться после перехода на релиз 1.2.21.1. Да, действительно, в релизе 1.2.19.1 в файле dbo.Config не было записей больше 120Мб. А вот после обновления на 1.2.21.1 такая запись (примерно 135мб )появляется. При снятии с поддержки запись исчезает сама, и ничего удалять не приходится. При постановке на поддержку -снова появляется... Я так понял, что это и есть конфигурация поставщика.
Если SQL оставляет всего 128, а надо целых 135, то вывод- надо дать рабочим процессам живую физическую память. Moжно урезать SQL. А можно винды. Установив в boot.ini ключ /3GB я тем самым отдал виндам 1Gb, а всему остальному 3Gb, а не 2/2 как по умолчанию. После перезагрузки - все ОК.
У Вас есть свое решение!? оставьте его в комментариях)
Данный способ подходит для отчетов. Из очевидных плюсов - если курс (или другие данные) не нужны для построения отчета, то СКД не будет их получать. Однако быстродействие такого отчета может оказаться и несколько ниже, чем в первом способе.
Для примера сделаем отчет - список заказов покупателей.
Для этого создадим набор данных "Документы" - запрос:
Для того, чтобы потом успешно свзать наборы данных, в запрос необходимо включить поля "Дата" и "ВалютаДокумента". Чтобы они не появлялись в списке доступных полей, если это необходимо, их можно убрать, установив флажки ограничений в таблице "Поля" схемы компоновки. В остальном запрос вряд ли требует комментариев.
Для того, чтобы получить информацию о курсах валют, добавим второй набор данных-запрос, "Курсы валют":
В этом запросе имеются 2 параметра: "Дата" и "Валюта". Эти параметры будут установлены СКД при соединении наборов. Кроме того, параметр "Дата" указан в выбранных полях - это нужно для соединения таблиц.
Для ненужный полей "Дата" и "Валюта" также устанавливаем флажки ограничений, чтобы они не появлялись в доступных полях.
Перейдем к соединению наборов. На странице "Связи наборов данных" добавим 2 связи:
1. Источник связи - набор "Документы", приемник - набор "Курсы валют". Выражение источник - "Дата", выражение приемник - "Дата", Параметр - "Дата"
2. Источник связи - набор "Документы", приемник - набор "Курсы валют". Выражение источник - "ВалютаДокумента", выражение приемник - "Валюта", Параметр - "Валюта"
Главное здесь - параметры связи. При соединении наборов данных, если указан параметр, СКД передает в подчиненный набор (в нашем случае - запрос "Курсы валют") параметры, указанные в соединении. Значениями параметров будут значения соответствующих полей набора-источника.
Перейдем к вычисляемым полям. Добавим вычисляемое поле "СуммаВВалютеУпрУчета". Выражение поля - "СуммаДокумента * Курс / Кратность".
Также укажем поля "СуммаДокумента" и "СуммаВВалютеУпрУчета" как ресурсы
Настроим отчет.
Добавим одну группировку "Детальные записи", в выбранных полях укажем "ЗаказПолкупателя", "Курс" и "Кратность". Добавим ресурсы "СуммаДокумента" и "СуммаВВалютеУпрУчета"
Регулярные выражения (Regular Expressions) являются известным и мощным средством для поиска, тестирования и замены подстрок. Эта технология доступна и в 1С - через объект VBScript.RegExp. Нужный объект уже встроен в современные версии Windows (начиная с Windows 98), и устанавливать дополнительно ничего не нужно.
Приведенные ниже примеры были протестированы в 1С:Предприятие 7.7; для 1С:Предприятие 8.x изменяется способ создания объекта:
Кроме того, там уже есть логические константы Истина и Ложь - объявлять их не нужно.
Более подробное описание самой технологии RegExp (что означают те или иные значки или скобочки, или какие шаблоны поиска или замены можно использовать в типичных ситуациях) можно найти в специальной литературе (например Бен Форта "Освой самостоятельно регулярные выражения (regexp) за 10 минут") или на сайтах в сети Internet.
Более продвинутый пример разбора HTML использует подвыражения (SubMatches) и позволяет находить как сами теги, так и текст между ними.
Часто регулярные выражения используются для тестирования строк, например пользовательского ввода.
Этот пример позволяет узнать, является ли строка целым числом.
Регулярные выражения поддерживают не только поиск, но и замену текста. При этом найденные подвыражения (в круглых скобках) могут быть представлены в строке замены как $1, $2 и т. д.
(знак доллара используется в VBScript.RegExp; в других средах программирования, например в JavaScript, используемый для этой цели символ может отличаться).
В СКД - набор данных Объект. Имя объекта - Табл
Табл - это Таблица Значений, которую я получаю из внешнего файла
В форме отчета, в процедуре ПередОткрытием() есть следующий код:
Нужно сделать набор данных - запрос и оставить код, который выше, после "Затем добавляю строки по выводу СКД:" и все прекрасно выводится в сводной таблице ПодводныйТаракан
Нашёл такие грабли – когда делаешь параметр списком значений, СКД зачем-то сама в этот список вставляет строку с пустым значением.
Я этот параметр передаю в запрос, и если тип параметра является иерархическим справочником, это пустое значение похоже отбирает любого родителя в иерархии, и как следствие, все значения справочника. Кстати, такой же косяк можно увидеть в отборах, если сделать вид сравнения «в группе из списка» и в список добавить строку с пустым значением.
А так как юзер тупо заполняет этот список подбором, то ему по фигу, что там какие-то пустые значения. Объяснять, что пустых значения в списке надо удалять – бесполезно. Виноват-то программист!
Нашёл, как это лечить, может кому-то пригодится.
Как добавить дополнительную колонку в табличном поле?
Добавляете колонку, а все вычисления реализуются с помощью события ПриВыводеСтроки табличного поля:
С помощью этого события можно выводить не только текст, но также флажки и картинки, например: Картинка:
Флажки:
Еще можно менять цвет фона и текста, шрифт и другие характеристики оформления:
Можно также управлять доступностью отдельных строк и ячеек табличного поля:
Обычно колонка должна быть рассчитываемой, или зависимой от данных, поэтому нужно задействовать второй параметр ДанныеСтроки. Этот механизм можно использовать для отображения остатков товаров в форме подбора, текущих цен, долга контрагента, другой информации по строкам.
Но здесь нужно быть осторожным! Событие ПриВыводеСтроки вызывается довольно часто при перерисовке табличного поля. Поэтому процедура должна отрабатывать довольно быстро, чтобы не тормозить вывод списка. Если в ней происходит обращение к базе данных, то вывод может резко замедлиться.
Если начались тормоза, то рекомендуется сделать следующее:
1. Кеширование результата запроса в переменной модуля формы (таблица значений или массив, еще можно использовать соответствие, которое индексируется для примитивных типов данных, например, код товара или артикул)
2. При отключенной колонке (видимость) запрос к базе НЕ должен выполняться.
По умолчанию колонку держать выключенной, включение только по кнопке в форме или при личных настройках определенного пользователя.
3. Лучше выполнять один большой запрос на несколько товаров, чем несколько маленьких запросов на один товар.
4. Список товаров нужно передавать как ПАРАМЕТР виртуальной таблицы Остатки, а не как параметр условия ГДЕ.
5. При повышенных требованиях к скорости отображения списка и большом количестве пользователей можно завести регистр сведений, хранящий актуальные остатки. Для поддержки его актуальности можно создать последовательность.
6. Еще вариант через обработчик - при ПолученииДанных (вроде так называется)... Там сразу передается массив ОформленияСтрок - в нем все строки сразу и вызывается он реже, чем при выводе строки...
7. Завести в табличной части реквизит, куда при открытии формы и по мере надобности помещать остатки, это значительно ускорит вывод остатков, правда будет не лучшим образом влиять на флаг Модифицированность.
Обычно ошибка возникает когда в процессе сохранения конфигурации, был сбой. В результате Конфигурация сохранилась не корректно.
1. Попробовать проверить через тестирование и исправление или ChDBFl.exe
2. Посмотрите следующие варианты решения проблемы:
В некоторых случаях помогает полная очистка КЭША, В ОС Windows 7 находиться C:\Users\Администратор\AppData\Roaming\1C\1Cv82 и C:\Users\Администратор\AppData\Local\1C\1Cv82 (Win7x64).
или подробнее:
1. Необходима чистая конфигурация той же версии - рабочая.
2. Очиста кеша полная (указано выше).
3. Запускаем чистую базу в режиме конфигуратора и открываем конфигурацию. При этом 1С создает ее кеш в C:\Users\Администратор\AppData\Local\1C\1Cv82 (набор файлов и папок в папке с ID конфигурации.) так же нам нужен кеш C:\Users\Администратор\AppData\Roaming\1C\1Cv82. Можно просто переименовать данные папки после закрытия 1С.
4. Запускаем наш не рабочую базу в режиме конфигуратора и смотрим кеш. И в результате имеем две папки с ID конфигурации (Живой и Мертвой).
5. Закрываем все и подменяем кеш мертвой конфы на живую полностью. Т.е. удаляем текущую и заменяем ранее переименованной папкой.
6. Запускаем не рабочую базу в режиме конфигуратора И ВОТ первый успех - дерево конфигурации открыто, разделы меню управления конфигурацией активны.
7. Идем в управление поддержкой, и снимаем с поддержки полностью. сохраняем, обновляем. Можно обновить через файл конфигурацией рабочей базы.
8. Удалем кеш полностью.
9. Запускаем не рабочую базу в режиме конфигуратора, пытаемся открыть конфигурацию - все открывается, ошибки нет.
10. Запускаем 1С. Все доступно. Данные на месте.
Было такое же сообщение когда динамически обновил конфигурацию центральной базы и сделал обмен на переферийной и на переферийной появилось подобное сообщение.
1. Т.к. в конфигуратор на переферийной вообще не пускался, то пришлось удалить папку C:\Documents and Settings\Admin\Application Data\1C\1Cv81.
2. Зашел в конфигуратор и выбрал Конфигурация - Конфигурация базы данные - Вернуться к конфигурации БД.
3. ГлавныйУзел установил неопределено.
4. Конфигурация - Загрузить конфигурацию из файла (центральная конфигурация).
5. ГлавныйУзел установил необходимый.
У меня возникла похожая ситуация, но на 8.1. При динамическом обновлении конфигурации видимо произошел сбой, после чего попытка выгрузить и как Основную конфу и конфу БД при дальнейшей попытке загрузить файл в локальную базу вываливалось "нарушена целостность структуры конфигурации". Но БД работоспособна. Ни тестирование и исправление ни ChDBFl.exe ничего не дали.
Селал бекап рабочей базы и загрузил его в чистую базу. Добавил план обмена
http://kb.mista.ru/article.php?id=7
и создал Начальный образ. В БД образа конфигурация исправилась.
Если не поможет могу посоветовать вариант к которому хотел прибегнуть сам:
1. найти ближайший релиз конфигурации, загрузить его в чистую БД (восстанавливаемую).
2. создать совершенно чистую БД (промежуточную)
3. открыть конфигуратор испорченной БД.
4. скопипастить модули и объекты, в которых происходили изменения с последнего релиза (в моем случае намного проще, поскольку изменения происходили только в модулях и формах, структура данных осталась прежней а все изменения документируются постерами) из испорченной БД в промежуточную.
5. Выгрузить промежуточную конфигурацию.
6. Объеденить ее с восстанавливаемой БД.
7. Выгрузить восстанавливаемую конфигурацию в файл.
8. Загрузить в испорченную БД конфигурацию из восстанавливаемой.
По идее должно получиться максимальное приближение к рабочей базе, но работка конечно не из легких. Но лучше все-таки чем потерять всю базу.
Еще один вариант решения проблемы, связанной с повреждением конфигурации поставщика. При обновлении конфигурации, находящейся на поддержке с возможностью редактирования и нарушенной целостностью конфигурации поставщика, может вылетать сообщение:
Мой вариант решения - заменить конфигурацию поставщика нашей базы.
Последовательность действий следующая:
1. Удалить конфигурацию поставщика путём снятия с поддержки(Конфигурация->Поддержка->Настройка поддержки->Снять с поддержки)
2. Создаем файл поставки конфигурации(Конфигурация->Поставка конфигурации->Создать файлы поставки и обновления конфигурации). Файл при этом назовем work файл поставки.cf
3. Объединяем нашу конфигурацию с только что созданным файлом поставки(Конфигурация->Сравнить, объединить с конфигурацией из файла). При этом появится предложение вновь поставить конфигурацию на поддержку
В появившемся окне сравнения конфигураций нажимаем "Выполнить",
4. Обновляем конфигурацию базы данных(Конфигурация->Обновить конфигурацию базы данных).
Поидее, выполняя данные действия, мы реструктуризовали конфигурацию поставщика.
Теперь можно попробовать обновить нашу конфигурацию до следующей версии в обычном режиме.
Хранилище значений - это тип, который появился в 8-ой версии 1С позволяющий сохранять прямо в базе различные данные, включая двоичные данные (произвольные файлы). Например, так можно хранить в базе данных JPG-картинки, Word-документы и т.д. Причем данные будут храниться в самой базе (файле 1CD или в таблицах на SQL-сервере) и будут включены в штатную выгрузку базы или резервную копию средствами SQL Server.
Тип Хранилище значения может быть назначен реквизиту справочника, документа, ресурсу регистра сведений и т.д.
Примеры:
Восьмерка поддерживает сжатие данных, помещаемых в хранилище:
Если это были ДвоичныеДанные, то их можно восстановить из хранилища значения методом Получить и записать в файл методом Записать().
Если это был, например, Word-документ (doc-файл, или другой файл зарегистрированного типа), то его можно открыть так:
Чтобы очистить поле типа Хранилище значения, нужно присвоить ему Неопределено:
Если в Хранилище значений содержались какие-то ссылки, то они не будут контролироваться при контроле ссылочной целостности (операция Удаление помеченных объектов или метод НайтиПоСсылкам).
К сожалению, 1С не содержит встроенных методов для проверки того, заполнено хранилище или нет.
Такой вариант не работает:
Работает только такой вариант:
Но он требует затрат времени на извлечение данных из хранилища.
Поэтому, если это критично, нужно заводить еще один флаг, который указывает, содержит ли хранилище значение.
Зарегистрированная внешняя компонента хранится в реестре следующим образом:
Предположим, что у нас есть внешняя компонента E:\Events\Events.dll.
В 1С мы пишем:
Теперь зайдем в программу regedit.exe (Пуск-Выполнить-Regedit.exe).
Если регистрация прошла успешно, то в реестре мы увидим следующие записи (я сделал поиск по подстроке "AddIn.Events" в редакторе реестра regedit.exe, нажав сочетание клавиш Ctrl-F):
Значение {2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397} является уникальным для каждого OLE-объекта идентификатором (CLSID). Его должен явно задать разработчик в коде внешней компоненты.
Значение ProgID, которое в нашем случае - "AddIn.Events" также задает разработчик внешней компоненты.
Чтобы в реестре появились эти записи, необходимы права доступа:
Начиная с Windows 2000, обычный пользователь не имеет прав доступа к указанным выше ветвям реестра. Нужны права или администратора, или привилегированного пользователя Windows. После первой загрузки компонента пропишет себя в реестре, и ее смогут использовать и непривилегированные пользователи Windows.
Где 1С ищет внешнюю компоненту?
Если при загрузке внешней компоненты вы не указываете полный путь, такой как E:\Events\Events.dll или сетевой путь наподобие \\ВашСервер\ПапкаГдеЛежатВК\Events.dll, то 1С ищет внешние компоненты
-относительно папки 1Cv7\BIN (КаталогПрограммы())
-относительно каталога информационной базы (КаталогИБ())
Метод ЗагрузитьВнешнююКомпоненту(), обнаружив ВК по новому пути, обновляет ее регистрацию в реестре
Это означает, например, что на терминальном сервере программист, который вошел в тестовую базу, где лежит ВК, и потом ее стер, оставит у всех пользователей запись в реестре о несуществующей ВК.
Аналогичная проблема - когда ВК по данному пути недоступна тем или иным пользователям.
А поскольку пользователи не имеют права на изменение записей в реестре, то у них перестанет загружаться и внешняя компонента.
В 1С:Предприятие 8.0 убрана возможность загрузки ВК относительно каталога ИБ.
В 7.7 же, чтобы избежать проблем, всегда убирайте ВК из каталога ИБ, и прописывайте полные пути (или складывайте DLL в общую для всех пользователей папку BIN).
Кардинальное решение проблемы - VKLoader и RegsvrEx
Имеется компонента VKLoader.dll (автор - Александр Орефков), которая позволяет решить проблемы с регистрацией компонент.
Цитата:
"vkloader (далее ВК) - внешняя компонента для 1С-Предприятия 7.7, которая может загружаться без ее регистрации в реестре, и загружать другие внешние компоненты без их регистрации. Предназначена для беспроблемной загрузки внешних компонент пользователями, не имеющими прав на запись в HKCR ветку реестра.
Принцип работы основан на перехвате обращения 1С к WinAPI функциям CLSIDFromProgID и CoCreateInstance.
Также ВК решает проблему "зависания" процесса 1С в памяти при закрытии программы при использовании несовсем корректно написанных сторонних внешних компонент".
Пример использования vkloader:
Замечу, что сама vkloader "умеет" загружать себя без прав доступа к реестру.
Еще одно решение: RegsvrEx
Автор - AlexQC.
Регистрирует компоненты (OLE-объекты) в пользовательской ветке реестра. RegsvrEX
Решение:
1. На клиенте включить DCOM утилитой dcomcnfg и добавить нужные протоколы в список.
2. На серваке добавить пользователей в группу "Distributed COM Users"
3. Перезапустить COM-приложение на сервере 1С:Предприятия
В настройках Windows на сервере должна быть включена роль "Сервер приложений" (Application Server)
Прочитать статью на ИТС.
Если клиент и сервер в разных подсетках (доменах), на сервере в локальную группу "Пользователи DCOM" пропишите пользователя клиента. Члены этой группы могут запускать, активизировать и использовать объекты DCOM на этом компьютере.
-----------
Проблема:
После выбора информационной базы (но до логина в 1с) возникает ощибка "Объект сервера 1С предприятия не обнаружен. 800706BF".
Решение:
1) Права пользователя.
Возможно, что пользователь, от имени которого запускается клиентское приложение не зарегистрирован и не доступен компьютеру сервера 1С:Предприятия.
2) Проверьте на клиентском компьютере настройки DCOM.
dcomcnfg/ Default protocols:
- Connection oriented TCP/IP
dcomcnfg/ Default properties:
- Enable distributed COM on this computer
- Default authentication level: Connect
- Default impersonation level: Identify
3) Попробуйте на серверном и клиентском компьютере понизить уровень
аутентификации:
Default authentication level: None
4) Проверьте, не установлено ли сетевых экранов. Откройте порт 135 и те, которые указаны на клиенте и сервере в диалоге:
dcomcnfg/ Default protocols/ Properties/ Post Ranges.
Если там диапазонов портов не указано - задайте их.
----------
Ошибка соединения с сервером 1С:Предприятия 8.0: Неправильный путь к файлу C:W
Решение:
Возможная причина ошибки в том, что для пользователя USER1CV8SERVER не заданы переменные окружения TEMP и TMP, поэтому при создании новой базы временные файлы пытаются быть созданными в корне диска C:
----------
Ошибка создания информационной базы: Компоненты OLE DB провайдера не найдены
Решение:
Такое сообщение может быть выдано, если сервер 1С:Предприятия не смог создать COM объект OLE DB Provider for Microsoft SQL Server.
Ознакомьтесь с разделом "Администрирование/ Установка и настройка/ Сервер 1С:Предприятия и SQL-сервер" на диске ИТС.
1) Найдите в Registry ветку
HKEY_CLASSES_ROOTCLSID{0C7FF16C-38E3-11d0-97AB-00C04FC2AD98}InprocServer32
Какой маршрут до файла SQLOLEDB.DLL является значением параметра default?
Убедитесь, что в этом каталоге этот файл есть.
2) Убедитесь, что каталог с файлом SQLOLEDB.DLL доступен пользователю USER1CV8SERVER. Для этого к списку пользователей, имеющих права на каталог можно добавить пользователя USER1CV8SERVER или группу everyone.
3) Запустите утилиту Microsoft SQL Server Client Network Utility. На закладке General установите протокол TCP/IP. На закладке Network Libraries посмотрите маршрут сетевой библиотеки для протокола TCP/IP. Убедитесь, что она присутствует в указанном каталоге и пользователь USER1CV8SERVER имеет доступ в этот каталог.
Попробуйте переустановить MDAC.
Убедитесь, что у пользователя, от имени которого стартует сервер 1С:Предприятия, есть права на каталог, содержащий компоненту OLE DB провайдера, и на файлы в этом каталоге.
----------
При попытке добавить базу с локальной станции, 1C предлагает только вариант выбора файлового варианта базы.
Решение:
На появление меню выбора вида создания базы (файловая или на сервере Предприятия) может влиять только ключ. Если ключа нет, то платформа может быть максимум базовой, а базовая не работает с сервером, поэтому этого меню нет. Если же оно есть, но недоступно, то возможно не установлены компоненты доступа к серверу на этой локальной станции.
----------
Проблема:
Выдается ошибка "Не удалось зафиксировать файл базы данных для открытия или изменения .../1cv8.1CD"
Решение:
Фиксация файла базы данных – это разновидность внутренней блокировки, которая требуется, чтобы на некоторое непродолжительное время обеспечить целостность структуры файла при выполнении операций чтения данных или фиксации транзакции. При чтении требуется, чтобы эти структура файла была в целостном состоянии, а при фиксации транзакции структура может изменяться.
При нормальной работе такая ошибка возникать не должна. Суть сводится к следующему: для выполнения фиксация результатов транзакции может потребоваться выполнить перестройку внутренних структур данных файла *.1cd. А для выполнения чтения данных необходимо гарантировать, чтобы такая перестройка структур данных не выполнялась. Для обеспечения согласования этих операций имеется механизм внутренних блокировок, называемых фиксацией. Фиксация выполняется с ожиданием. В то же время предполагается, что фиксация выполняется на непродолжительное время, меньшее, чем время ожидания. Таким образом, если упомянутая ошибка возникла, то имеет место некоторое нарушение нормального хода событий. Мы наблюдали такую ситуацию и уже описывали ее в партнерской конференции. Вкратце все выглядит примерно так. В какой-то момент времени запрос на блокировку участка файла (функция LockFile() Win32 API) выдает ошибку Network error. В результате возникает ошибка движка файловой базы данных "Не удалось зафиксировать файл базы данных для открытия или изменения".
Природа ошибки нам пока непонятна. Известно только, что она возникает далеко не у всех. Не отмечено никакой связи возникновения этой ошибки с версией 1С:Предприятия 8.0 и используемой конфигурацией. По-видимому речь идет о каких-то особенностях некоторых сетей.
Вполне возможно, что проблема возникает из за нестабильности работы сети
Один из способов проверить - выполнить команду:
ping [Имя сервера] -t
на компьютере, с которого запускается 1с
после чего запустить 1с и посмотреть, что будет происходить...
----------
80004027 - приложение 1CV8 или сомпонента v8.server.1 выключена,
если сервер на Windows Server 2003.
См. статью "Особенности настройки Windows Server 2003 при установке сервера 1С:Предприятия 8.0" на диске ИТС.
00000005
00000041
80070005
80080005
80000009
80030005
8001011B - клиент не имеет прав на доступ к серверу (access denied). Выполните
рекомендации статьи "Вопросы установки и настройки 1C:Предприятия 8.0
в варианте "клиент-сервер"" из раздела методической поддержки
1С:Предприятия 8.0 на диске ИТС.
800706BA
800706BE- на сервере произошло неожиданное исключение. Сервер упал.
Нужны записи из Event Log с сервера.
80010108 - внутренняя ошибка клиентского приложения. Нужны записи
Event Log клиентского компьютера и описание действий, выполнявшихся
в это время.
80070776 - Запустить DcomCnfg.exe и проверить протокол для DCOM
Должен быть TCP/IP с ориентацией на подключения
8000401A - В свойствах COM+ приложения 1CV8 на серверном компьютере
на закладке Identity установлен Interactive user, но никакой
пользователь интерактивно не вошел в серверный компьютер.
8001011C - На клиентском компьютере запрещено использование DCOM.
Помогает запустить на клиентском компьютере dcomcnfg.exe
и на закладке Default Properties установить флаг
Enable distributed COM on this computer.
80070721 - Ошибка возникает при рассогласовании протоколов
аутентификации между DCOM клиентом и сервером в том случае, если для связи
между ними используется Microsoft Internet Information Services (IIS).
Возможно, для DCOM используется протокол Tunneling TCP/IP. Установите
на компьютере - сервере 1С:Предприятия и на клиентских компьютерах для
DCOM протокол Connection-oriented TCP/IP.