[?]: CAS. Cannot insert the value NULL into column 'TagID'

Панели оператора PP/OP/TP/TD/MP.
Программные пакеты ProTool/WinCC flexible, SCADA система WinCC
aspin
Posts: 2
Joined: Sat Mar 05, 2011 3:26 pm

[?]: CAS. Cannot insert the value NULL into column 'TagID'

Post by aspin »

Есть такой случай при приеме архивных данных CAS выдает сообщение:
StoragePlus.DataExtractor: Database error. Reason: Cannot insert the value NULL into column 'TagID', table '_ARCHIVE_01_.dbo.ATagCatalogue'; column does not allow nulls. INSERT fails.
The statement has been terminated..
имеется:
4 - сервера ввода вывода, резервированные;
1 - Центральный архивный сервер CAS;

с некоторых серверов не принимаются файлы только иногда
а с других не принимаются вообще.

частично помогло оставить на CASе только .Net 1.1, при установке 2-го перестает принимать все файлы, ошибка этаже.

Обдумал и пришел к такому заключению, что StoragePlus не правильно формирует ID тега.
ПО:
WinCC V6.0.SP3a + Hotfix24
StoragePlus v1.1

Кто может сталкивался или даже решал такую проблему?
Segment
Posts: 5
Joined: Thu Aug 25, 2011 11:07 am

Re: [?]: CAS. Cannot insert the value NULL into column 'TagI

Post by Segment »

Проблема актуальна! Срочно нужна помощь! CAS не может раскидать на сегменты свою основную базу. Она растет уже 20Гб, когда надо 2Гб. И еще в бэкапах лежит образ цаса в котором база разрослась до 60Г,б а ошибка была в том что он не мог создать базу сегмента, которая почему-то была с пустым именем dbo.. Кто подскажет? (oo)
aspin
Posts: 2
Joined: Sat Mar 05, 2011 3:26 pm

Re: [?]: CAS. Cannot insert the value NULL into column 'TagI

Post by aspin »

Сочувствую, такая хрень тоже была. Нашел ошибку так:
1. Запустил Profiler, с настройками по умолчанию.
2. Смотрел когда появляется ошибка в журнале, смотришь отмененную транзакцию.
3. Перебираешь все запросы в этой транзакции (запускаешь в Analyzer).
Можно почестям, для Update, Insert.
4. Анализируешь, если обновление, то подзапрос должен вернуть одно значение. Если вставка, то хотя бы одно.
5. исправляешь данные.

Но в первую очередь советую сделать проверку баз данных _ARCHIVE_01._ И _ARCHIVE_01_D.
проверку делать при остановленном WinCC.

P.S. у меня сначала не хватало записей по тегам, а потом оказались еще и лишние, на запрос по ID возвращала 2 тега и иногда даже разные. И еще, не делайте перезагрузку компа сразу как остановили WinCC, и тем более без остановки его.
Порядок перезагрузки (выключения такой)
1. остановить WinCC.
2. дождаться прекращения дисковых операций SQL Servera.
3. остановить службу SQL Servera.
4. дождаться завершения службы SQL Servera.
5. теперь можно перегружать (выключать).