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

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

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

Post by aspin » Wed Jul 13, 2011 12:55 pm

Есть такой случай при приеме архивных данных 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 » Tue Nov 06, 2012 12:46 pm

Проблема актуальна! Срочно нужна помощь! 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 » Sun Nov 11, 2012 7:46 am

Сочувствую, такая хрень тоже была. Нашел ошибку так:
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. теперь можно перегружать (выключать).

Post Reply