powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Экспорт и Импорт из Cache части данных
31 сообщений из 31, показаны все 2 страниц
Экспорт и Импорт из Cache части данных
    #36404523
MasteRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые форумчане! Имеется следующая проблема:
Имеется некоторая сложная таблица(сложный класс?), из которой надо взять часть данных, удовлетворяющих определенному условию, экспортировать их, а потом импортировать обратно в ту же самую таблицу. Какие способы вы можете предложить, в каких направлениях копать? Какой способ можете наиболее простой и наименее затратный?
Версия Cache - 5.0.21 (Build 6408U).
Пробовал воспользоваться экспортом таблицы в SQL-Manager, но он экспортирует А) всю таблицу б) Не всегда может импортировать обратно. Сейчас пытаюсь экспортировать в XML, однако класс(Таблица?) имеет достаточно сложную структуру, поэтому пока ничего не выходит.
Есть ли ещё идеи?
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36404561
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRusКакой способ можете наиболее простой и наименее затратный?
Думается запись в произвольный глобал, его экспорт/импорт и последующая обработка будет таковым.
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36404598
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вы выгружаете в XML ?
вам нужно выгрузить одну таблицу? нет никаких связей ?

если это только одна таблица, то в чем ее сложность ?

в любом случае класс можно дополнительно отнаследовать от %XML.Adaptor
и тогда можно экспортировать/импортировать без проблем
_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36404631
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorбез проблем
Ты версию их Кащея видел?
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36404640
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видел, у меня такая же
_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36404779
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRusИмеется некоторая сложная таблица(сложный класс?), из которой надо взять часть данных, удовлетворяющих определенному условию, экспортировать их, а потом импортировать обратно в ту же самую таблицу. Какие способы вы можете предложить, в каких направлениях копать? Какой способ можете наиболее простой и наименее затратный?
Версия Cache - 5.0.21 (Build 6408U).
Запишите эти данные в специальный отдельный для этой цели глобал в виде в котором потом сможете разобрать обратно, экспортируйте его целиком блочным экспортом, переносите файл, на принимающей стороне импортируете блочным импортом и разбираете что там. Перед конструированием этого глобала и перед импортом его удаляете. Потому что блочный переносит глобал целиком. Это наиболее простой и наименее затратный.
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36405303
MasteRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorкак вы выгружаете в XML ?
Пытаюсь, как показано в примерах работы с XML.
DAiMor
вам нужно выгрузить одну таблицу? нет никаких связей ?
если это только одна таблица, то в чем ее сложность ?

Таблица одна, но сложная: Имеются связи с другими таблицами, помимо этого связь таблицы с собой, встраиваемый класс, несколько коллекций (массив, список и characterstream)

DAiMor
в любом случае класс можно дополнительно отнаследовать от %XML.Adaptor
и тогда можно экспортировать/импортировать без проблем

Простые свойства экспортируются без проблем, проблема как раз в сложных. Сейчас попробую отнаследовать абсолютно все классы, которые могут быть завязаны с необходимым от %XML.Adaptor, однако что делать с коллекциями?
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36405322
MasteRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну яЗапишите эти данные в специальный отдельный для этой цели глобал в виде в котором потом сможете разобрать обратно, экспортируйте его целиком блочным экспортом, переносите файл, на принимающей стороне импортируете блочным импортом и разбираете что там. Это наиболее простой и наименее затратный.
К сожалению, глобалы для меня пока темный лес. Можно ли часть данных из таблицы экспортировать? Не пострадает ли при импорте из файла информация, которая уже находится в существующем глобале/таблице/классе?
ну я Перед конструированием этого глобала и перед импортом его удаляете. Потому что блочный переносит глобал целиком. ммм... совсем не понял... Можно еще раз, только более развернуто?
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36405375
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRusсовсем не понял... Можно еще раз, только более развернуто?
Если глобал сохранён в формате Cache Block , то перед импортом нужно удалить глобал с таким же именем. В противном случае получите "кашу" из старых и новых данных.

Пример.
- Вы экспортировали глобал ^tmpMy в формате Cache Block
- Перед его импортированием в некую облать, проверьте есть ли там такой глобал (^tmpMy)
- Если есть удалите его в Проводнике Каше или командой
Код: plaintext
<ваша_область>>k ^tmpMy
- После этого импортируйте глобал ^tmpMy из файла.
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36405397
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRusК сожалению, глобалы для меня пока темный лес.
Ничего сложного. Это обычные массивы, только с префиксом ^ (крышка/кепка)...

Пример.

Код: plaintext
1.
2.
s ^tmpMy= 1 
s ^tmpMy( 10 )="Test"
s ^tmpMy("Test")=$h

Все что вам нужно:
- Пройтись по вашей "сложной таблице"
- Записать данные её строк в глобал так, что бы вы потом сами же поняли откуда их брать и куда писать
- Экспортировать глобал
- Импортировать куда нужно
- Обработать данные глобала так, что бы они попали в вашу таблицу без потери данных.

MasteRusМожно ли часть данных из таблицы экспортировать?
Да, можно.

MasteRusНе пострадает ли при импорте из файла информация, которая уже находится в существующем глобале/таблице/классе?
Это смотря как вы все сделаете...
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36405407
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRusну яЗапишите эти данные в специальный отдельный для этой цели глобал в виде в котором потом сможете разобрать обратно, экспортируйте его целиком блочным экспортом, переносите файл, на принимающей стороне импортируете блочным импортом и разбираете что там. Это наиболее простой и наименее затратный.
К сожалению, глобалы для меня пока темный лес. Можно ли часть данных из таблицы экспортировать? Не пострадает ли при импорте из файла информация, которая уже находится в существующем глобале/таблице/классе?
ну я Перед конструированием этого глобала и перед импортом его удаляете. Потому что блочный переносит глобал целиком. ммм... совсем не понял... Можно еще раз, только более развернуто?
Ну подучите матчасть, лес станет посветлее. Какую часть прописать в глобал для переноса - это вы самостоятельно решаете, часть там будет или не часть и что именно и в каком виде решаете самостоятельно. Поскольку это отдельный глобал, то как может пострадать информация в других, не совсем понятно. Перед записью в глобал информации которую будете передавать убейте его. Есть такая команда kill. Перед импортом тоже. Блочный экспорт-импорт это самый подходящий вариант для переноса большого объема данных.
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36405426
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут проблема скорее в том, как вы будете собирать данные раскиданные по объектам в один глобал, чтобы ничего не забыть. Вторая проблема как будете вставлять данные обратно в объекты. Будет ли это добавление как новых объектов, или перезапись которые уже и так есть, и как согласовывать иды объектов и связи, и будет ли перенос сведений об удалении объектов. Основная проблема не столько в переносе самих данных, сколько в организации собственно такой репликации с точки зрения вашей прикладной системы.
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36406056
Turk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasteRusЗдравствуйте, уважаемые форумчане! Имеется следующая проблема:
Имеется некоторая сложная таблица(сложный класс?), из которой надо взять часть данных, удовлетворяющих определенному условию, экспортировать их, а потом импортировать обратно в ту же самую таблицу. Какие способы вы можете предложить, в каких направлениях копать? Какой способ можете наиболее простой и наименее затратный?
Версия Cache - 5.0.21 (Build 6408U).
Пробовал воспользоваться экспортом таблицы в SQL-Manager, но он экспортирует А) всю таблицу б) Не всегда может импортировать обратно. Сейчас пытаюсь экспортировать в XML, однако класс(Таблица?) имеет достаточно сложную структуру, поэтому пока ничего не выходит.
Есть ли ещё идеи?
Если нужно просто продублировать записи (1 в 1 или с небольшой модификацией исходных данных), то может получится обойтись и одним SQL-запросом:
Код: plaintext
1.
INSERT INTO <имя_таблицы> (<список_полей>) SELECT <список_полей> FROM <имя_таблицы> WHERE <условия_отбора_записей>
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36407032
MasteRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем, кто пытается помочь, сейчас я буду задавать глупые вопросы, получать умные ответы и после этого много-много думать и пробовать.
Думаю, чтобы ситуация была понятна, надо объяснить исходную задачу: После обновления системы повредилась часть информации, однако это вскрылось не сразу, поэтому необходимо восстановить данные с бэкапа, который был перед обновлением, провести правильно обновление и добавить ту информацию, которая добавлена в систему после обновления.
Сейчас мне видятся способы решения проблемы
1. Экспортировать в таблицу через SQL-запрос, Экспортировать таблицу, восстановить бэкап, импортировать таблицу и из таблицы добавить данные
Проблема : Не могу экспортировать все данные, проблема возникает с полем типа collection = array
Пытаюсь сделать тоже самое объектным методом, но не получается пока, ошибка аналогична.

2. Экспортировать в XML, восстановить бэкап, импортировать из XML
Проблемы : неправильно то же самое поле, плюс некоторые другие, в частности, встроенные классы (Serial), хотя они тоже наследуют %XML.Adaptor. Как правильно обрабатывать коллекции?

3. Экспортировать все в новый глобал, экспортировать его, потом обратно импортировать
Проблемы : Не работал с глобалами, пока очень все тяжело задается, не знаю как правильно задать условие на копирование только необходимых

4. Экспортировать в таблицу через SQL-запрос, Экспортировать глобал, потом обратно импортировать
Проблемы : См проблему п1, + ни разу не пробовал экспорт/импорт глобалов.

5. Подключиться с другого Cache-сервера с чистой базой, Экспортировать туда нужную информацию, восстановить бэкап, подключиться с основного сервера к тому, куда экспортировали и скопировать информацию обратно.
Проблемы : При попытке подсоединиться к источнику данных запрашивается логин и пароль, которые никому не известны. Есть ли логины/пароли по умолчанию, типа scott/tiger из Oracle? Почему, когда пытаешься законнектиться на сервер удаленно, то студия, SQL-manager, и остальные приложения не просят ничего, а когда через терминал - спрашивают? Почему, когда через ClassFactory коннект осуществляется вне зависимости, есть пароль или нету, хоть в диалоге его спрашивает?
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36407042
MasteRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну яТут проблема скорее в том, как вы будете собирать данные раскиданные по объектам в один глобал, чтобы ничего не забыть. Вторая проблема как будете вставлять данные обратно в объекты. Будет ли это добавление как новых объектов, или перезапись которые уже и так есть, и как согласовывать иды объектов и связи, и будет ли перенос сведений об удалении объектов. Основная проблема не столько в переносе самих данных, сколько в организации собственно такой репликации с точки зрения вашей прикладной системы.
да, это тоже не маленькая часть проблемы.
таблица одна, но имеются
а) связи с другими таблицами
б) связь таблицы с собой,
в) несколько коллекций (массив, список и characterstream) (как раз с ними больше всего проблем)
г) встраиваемый класс
д) Имеется также ммм... забыл как называется, внешние таблицы на Оракловском сервере, которые импортированы через технологию SQL-Gateway. И данные из той таблицы, которую необходимо перенести ссылаются на эти внешние таблицы.

Имел ли кто-нибудь дело с экспортом/импортом таких сложных структур данных? Или все уже давно освоили глобалы?
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36407250
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В прикладной системе велся протокол удаления данных?
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36407276
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRus3. Экспортировать все в новый глобал, экспортировать его, потом обратно импортировать
Проблемы : Не работал с глобалами, пока очень все тяжело задается, не знаю как правильно задать условие на копирование только необходимых
Так если данные уже выбираются SQL-запросом - этим же запросом и выбирать. Останется только объектным подходом забрать свойства-массивы и все.

Как писать в глобал - можно разобрать на некоем примере...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36407285
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRusИмел ли кто-нибудь дело с экспортом/импортом таких сложных структур данных?
По-мне таки лучше и не усложнять. Потом будет меньше "головной боли", как у вас сейчас...

[quot MasteRus]Или все уже давно освоили глобалы?
С этого вообще все и начиналось в М-технологиях, классы появились не так давно...
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36407293
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRusИмел ли кто-нибудь дело с экспортом/импортом таких сложных структур данных?
По-мне таки лучше и не усложнять. Потом будет меньше "головной боли", как у вас сейчас...

MasteRusИли все уже давно освоили глобалы?
С этого вообще все и начиналось в М-технологиях, классы появились не так давно...

P.S. Что-то плохо процитировал выше...
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36407746
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRusиз которой надо взять часть данных, удовлетворяющих определенному условию, экспортировать их, а потом импортировать обратно в ту же самую таблицуЕсли не секрет, для чего такое может быть нужно?
И вще вопрос. На вашу таблицу имеются ссылки из других таблиц (RelationShip или "просто" по ID)?
Первое легко определить по наличию в определении класса (=вашей таблицы) конструкций вида
Код: plaintext
Relationship SomeName As SomePackage.SomeClass [ Cardinality = many ... ]
Второе определить сложнее, могут присутствовать ключевые слова ForeignKey, но необязательно.
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36408841
MasteRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть небольшие подвижки: тупо скопировал класс и необходимые данные скопировал в класс-копию. Вопрос можно ли создать объект с заранее заданным ID, чтобы потом не учитывать ссылки таблицы самой на себя? Например, ##class(MyPackage.MyClass).%New(100500)?
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36409121
Фотография kolesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRus
таблица одна, но имеются
а) связи с другими таблицами
б) связь таблицы с собой,
в) несколько коллекций (массив, список и characterstream) (как раз с ними больше всего проблем)
г) встраиваемый класс
д) Имеется также ммм... забыл как называется, внешние таблицы на Оракловском сервере, которые импортированы через технологию SQL-Gateway. И данные из той таблицы, которую необходимо перенести ссылаются на эти внешние таблицы.

Имел ли кто-нибудь дело с экспортом/импортом таких сложных структур данных? Или все уже давно освоили глобалы?

Да уж... "таблица одна... но их много" ;)

Я на протяжении многих лет в подобных случаях использую очень эффективный прием (не помню, откуда почерпнул):
Если решение задачи представляется сложным, нужно изменить задачу таким образом, чтобы ее решение стало простым...

Мощь такого подхода оценил неоднократно...

Если говорить конкретно о Вашем случае, напрашивается идея убедить заказчика в том, что из изначального сложноструктурированного и большого объема информации ему _реально_ понадобится несколько простых наборов данных.

Я бы в эту сторону решал...
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36409944
Отбор данных для экспорта и экспорт

Можно сделать так - в классе %SYSTEM.SQL есть метод QueryToTable ( документация ).

Он делает простую вещь - исполняет SQL-запрос, под результат генерирует новое описание класса, и формирует данные этого класса на основе результатов запроса. СоздаетеЭкспортируете данные этих таблиц (в каком формате удобнее), и переносите на новую систему.

Учитывая, что у вас структура не плоская - запросом надо будет ее "сплющить". Объем полученной таблицы зависит, естественно, от сложности вашей структуры и количества элементов в ее коллекциях. Возможно, будет иметь смысл сделать несколько таких "материализованных view", и выгружать их по отдельности.

Импорт
Переносите с первой машины XML-описания материализованных view, импортируете их данные, пишете скрипт для обновления существующих структур данных (можно SQL, можно на COS написать - смотря, как будет удобно).
Если там простая замена - то перенос SQL из таблицы в таблицу, будет, наверное, самым простым.



http://writeimagejournal.com - InterSystems Russia Technology Blog.

http://writeimagejournal.com/forum - InterSystems Russia Technology Community.
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36412273
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasteRusможно ли создать объект с заранее заданным ID
Можно.

Код: plaintext
1.
2.
s par=##class(adm.Nast).%New() 
s par.Id="REGAUTO" 
d par.%Save()
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36414835
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
Как-то засомневался... У Вас класс, случаем, не с переопределенной схемой хранения? Или cвойство Id объявлено? Потому как для простого класса (Cache 5.020):
Код: plaintext
1.
2.
3.
 Class User.Test Extends %Persistent [ ClassType = persistent, ProcedureBlock ] {
  Property Name As %String;
 }
получим что-то вроде :
Код: plaintext
1.
2.
3.
4.
5.
6.
 USER>s t=##class(Test).%New()
 USER>s t.Id="2"
 
 S t.Id="2"
 ^
 <PROPERTY DOES NOT EXIST>
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36414854
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterRus, "Или все уже давно освоили глобалы?"
Глобалы это "наше все", настоятельно рекомендую, очень развивает образное мышление. На досуге гляньте в проводнике глобалы с именем вашего класса + буквы D, I. Например: ^MyPackage.MyClassD, ^MyPackage.MyClassI. Поэксперементируйте, создайте хранимый класс, добавьте пару свойств, заполните и сохраните экземпляры через объектный интерфейс, просмотрите в проводнике соответствующие глобалы.. Будут вопросы, задавайте :)
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36415193
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintkrvsa,
Как-то засомневался... У Вас класс, случаем, не с переопределенной схемой хранения? Или cвойство Id объявлено? Потому как для простого класса (Cache 5.020):
Код: plaintext
1.
2.
3.
 Class User.Test Extends %Persistent [ ClassType = persistent, ProcedureBlock ] {
  Property Name As %String;
 }
получим что-то вроде :
Код: plaintext
1.
2.
3.
4.
5.
6.
 USER>s t=##class(Test).%New()
 USER>s t.Id="2"
 
 S t.Id="2"
 ^
 <PROPERTY DOES NOT EXIST>

Код: plaintext
1.
2.
s par=##class(adm.Nast).%New() 
s par.Id="REGAUTO" 
d par.%Save()
просто Id в данном случае был переопределен и указан как IdKey
Код: plaintext
1.
2.
3.
4.
5.
6.
Class adm.Nast Extends %Persistent [ ClassType = persistent, ProcedureBlock ]
{

Property Id As %String [ Required ];

Index IdIndex On Id [ IdKey ];
}
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36415204
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Класс как класс...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
/// 
Class adm.Nast Extends %Persistent [ ClassType = persistent, ProcedureBlock ]
{

Property Id As %String [ Required ];

Index IdIndex On Id [ IdKey ];

Property Params As array Of %String;

/// Получить значение по ключу
Method Get(Key As %String) As %String
{
	Q:Key="" ""
	Q ..Params.GetAt(Key)
}

/// все значения
/// nast  - название настройки
/// vals  - ссылочная переменная для записи в нее значений
ClassMethod All(nast As %String, vals)
{
	s par=##class(adm.Nast).%OpenId(nast)
	k vals
	q:+par= 0 
	S key=""
	F  S val=par.Params.GetNext(.key) Q:key=""  s vals(key)=val
	Q
}

/// Записать значение по ключу
Method Set(Key, Val As %String) As %Status
{
	D ..Params.SetAt(Val,Key)
	q  1 
}

}

Кащей вот только не такой...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36415212
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorпросто Id в данном случае был переопределен и указан как IdKey
Код: plaintext
1.
2.
3.
4.
5.
6.
Class adm.Nast Extends %Persistent [ ClassType = persistent, ProcedureBlock ]
{

Property Id As %String [ Required ];

Index IdIndex On Id [ IdKey ];
}

Ну вот и автор отписался... Разъяснил.
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36417832
MasteRus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже не хочется прерывать обсуждение, столько нового узнал за эти дни... Но буду честным
Всем спасибо за помощь, решил свою проблему немного иначе: Поскольку данные повредились во время апдейта, пострадали не все столбцы. Среди неповрежденных имелась комбинация полей, которая была уникальна в пределах таблицы. Таким образом, осталось экспортировать только относительно простые поля. Далее, простой экспорт в другую таблицу правильных значений, экспорт-импорт созданной таблицы через SQL-менеджер, и апдейт поврежденных записей до правильного состояния.
Выводы:
1. Никаких изменений в рабочей системе 30-31 декабря!!!
2. При апдейте данных нужно производить перестройку индексов, иначе могут быть видны старые данные
3. Исходная задача достаточно интересна в своей общей постановке, надо бы попытаться все-таки решить её полностью.
4. Неплохо бы изучить глобалы.
...
Рейтинг: 0 / 0
Экспорт и Импорт из Cache части данных
    #36422954
2. Поскольку у вас не менялись структуры данных, то в этом конкретном случае это неважно, но частая причина непонятностей в работе системы - оставшиеся кэшированные SQL-запросы. При операциях переноса чего-либо с сервера на сервер их бывает полезно чистить.
4. В документации есть неплохой Tutorial по использованию глобалов:

- Using Cache' Globals
http://docs.intersystems.com/cache20091/csp/docbook/DocBook.UI.Page.cls?KEY=GGBL
- и еще полезные вещи есть в Cache Object Script Tutorial - http://docs.intersystems.com/cache20091/csp/docbook/DocBook.UI.Page.cls?KEY=TCOS


http://writeimagejournal.com - InterSystems Russia Technology Blog.

http://writeimagejournal.com/forum - InterSystems Russia Technology Community.
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Экспорт и Импорт из Cache части данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]