20.08.2009 08:14
kadr
 
Цитата:
Назым Вопрос:

Не рассылаются некоторые кассовые документы, созданные после обновления Супермага.
Сообщение об ошибке: ----- Ошибка приема -----
Пакет: 090730103327_115557_0.SVP
Тип объекта: Продажи по кассе
Идентификатор объекта: 06ПКМ20090729@2017
-- Уровень вложения 0 --
Сообщение: Объект <CS, 06ПКМ20090729@2017> не прошёл проверку на корректность данных в ключевых полях и не может быть принят
Исключение: Sm.Core.BaseException
Источник: Sm.Post.DbLoader
Метод
: Void CheckIntegr
ity(Sm.Post.PostObject)
-- Уровень вложения 1 --
Сообщение: Объект <CS, 06ПКМ20090729@2017> в таблице SMSPEC содержит в поле DOCID значение

<?>
вместо ожидаемого <06ПКМ20090729@2017>
Исключение: Sm.Core.BaseException
Источник: Sm.Post.DbLoader
Метод
: Void CheckIntegr
ity(System.Data.DataTable)


Ответ:

Если БД сервера функционирует под управлением ПО Oracle 8.1.6, то для исправления ситуации необходимо выполнить деинсталляцию ПО Oracle client версий 9 или 10. И установить ПО Oracle client версии 8.1.7.

Ошибка связана с несовместимостью программных продуктов старых и новых версий.

Возможно, компания Oracle выпустила патч, но пока его найти не удалось.
Понимаю что это FAQ, но эту ошибку и причины отловили мы, поэтому не могу стерпеть и должен сделать поправки по тексту написанного в С+

Цитата:
Не рассылаются некоторые кассовые документы
, и не только, также наблюдалось на актах переоценки

Ошибка проявляется в следующей связке: БД работает под управлением Oracle 8.1.6, почтовый модуль запущен на компьютере с основным ORACLE_HOME версии 9.2.0.1 (инсталяция с оф. диска клиентской части).
Ни о какой 10-ой версии клиента не может быть речи, т.к. 10-ый клиент не поддерживает подключения к серверам под управление Oracle 8. Об этом я уже писал в теме про InstantClient.
Решение в принципе указано одно из верных, но оно может ввести в заблуждение по поводу необходимости устанавливать версию 8.1.7, поясню: если почтовый модуль запускается на том же компьютере на котором крутиться база 8.1.6, то никакого клиента дополнительного устанавливать не надо, проверено лично мной.
Если же почтовый модуль крутится на отдельном от сервера компьютере и хочется использовать 9-го клиента, то можно ставить ОО4О (Oracle Objects for OLE)