Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Поиск объекта по части идентификатора (ID)

 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы пользователей
Предыдущая тема :: Следующая тема  
Автор Сообщение
Сергей Попов



Зарегистрирован: 05.03.2005
Сообщения: 299
Откуда: г. Тольятти - Самара - Копейск

СообщениеДобавлено: Ср 09 Мар 2016 15:59    Заголовок сообщения: Поиск объекта по части идентификатора (ID) Ответить с цитатой

Опишу ситуацию.
1. Экспортировал в idf-файл содержимое некоторой карты.
2. В другую базу импортирую этот файл и получаю несколько сообщений следующего типа:
Код:
inform  iteration Импорт семантических данных объекта "0006001D3519"
error   General SQL error.  [Microsoft][ODBC SQL Server Driver]Переполнение поля даты и времени

Исходная база лежит в ORACLе, импортирую в MS-SQL.
Это так, на всякий случай.

При экспорте ошибка не идентифицируется.
При импорте все поля будут пустыми, не только поле - виновник ошибки.
Значит надо найти эти объекты, увидеть в таблицах даты типа "01.10.20016" или "25.05.215".
Как это сделать!
Слоев несколько, полей типа "ДАТА" тоже несколько.
Искать выпадающие их диапазона даты по большому количеству таблиц и полей очень муторно.
Что можно предложить:
1. Идентифицировать ошибку на этапе экспорта. В этот момент можно указать изначальный идентификатор объекта (ID), не претерпевший трансформации.
2. Можно дополнить проверку целостности базы проверкой дат.

За неимением вышеперечисленного решил искать по идентификатору в исходной базе после чего глазами найти ошибочное значение и руками его исправить для повторного экспорта/импорта.

Вариантов ДВА:
1. Вроде был такой модуль, который искал в любой карте объект по указанному идентификатору.
Тут есть одна загвоздка. Такой модуль надо использовать во второй базе, так как в первой базе у этого объекта возможно иной идентификатор (очень вероятно что первые 4 символа другие).
Потом переключаемся в первую базу и уже визуально находим изначальный объект.
2. С ходу придумал другой вариант: применить "Запрос по семантическим данным"
В поле "Условие отбора записей" пишу:
Код:
Подобна({АДРЕС.ID}; "*001D3519")
Четыре первых симовла идентификатора заменил на *. Ура! Получилось! Особенность в том что специальные поля ID и SemID не отображаются в списке полей, но могут использоваться в формуле.
Может быть кому пригодится. Я искал в любой таблице 1 к 1, в данном случае в таблице АДРЕС.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы пользователей Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


© phpBB Group
Русская поддержка phpBB