Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
strelka555
Зарегистрирован: 07.04.2011 Сообщения: 16
|
Добавлено: Чт Апр 07, 2011 3:11 pm Заголовок сообщения: Нужно прочитать картографические данные из БД oraclе |
|
|
Привет всем! Помогите пожалуйста!
Нужно прочитать картографические данные из базы данных oracle в Mapinfo с отрисовкой карты.
Таблицу в oracle с координатами открывает корректно, но после того как в БД создаешь клон таблицы и меняешь только название, клон не открывается пишет ошибку "не поддерживаемый тип данных для колонки", колонки с координатами, хотя тип данных идентичен типу в открываемой таблицы. Почему не открывает? Если колонку с координатими убрать остальная табличная информация открывается, но графика не отрисовываются, что делать подскажите!!!
|
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Чт Апр 07, 2011 9:52 pm Заголовок сообщения: |
|
|
Там где-то должна быть таблица mapcatalog, в ней запись продублируйте с изменениями. |
|
Вернуться к началу |
|
|
strelka555
Зарегистрирован: 07.04.2011 Сообщения: 16
|
Добавлено: Пт Апр 08, 2011 7:12 am Заголовок сообщения: |
|
|
Я если если честно, не очень опытный пользователь, вы не могли бы поточнее сказать что конкретно нужно изменить в таблицы mapcatalog и где ее взять, спасибо. |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Сб Апр 09, 2011 4:21 pm Заголовок сообщения: |
|
|
Т.е. клон таблицы создать смогли, а найти таблицу mapcatalog уже не можете? :)
Я не помню где она, Оракла под рукой нет. Поищите по схемам, возможно в схеме рядом с этой вашей таблицей.
А внутри таблицы - записи, описывающие существующие геотаблицы для MapInfo, посмотрите разберетесь - там тоже нужно создать клон записи. |
|
Вернуться к началу |
|
|
strelka555
Зарегистрирован: 07.04.2011 Сообщения: 16
|
Добавлено: Вт Апр 12, 2011 3:29 pm Заголовок сообщения: |
|
|
Нашла таблицу, вставила идентичную запись только название таблицы изменила на свою таблицу, не помогло, такая же ошибка выходит, Вы мне не помодете расшифтовать что означают записи в этой таблице, БОЛЬШОЕ СПАСИБО!!!!
SPATIALTYPE 13.3
TABLENAME SDO_PARCEL
OWNERNAME ZKOKS
SPATIALCOLUMN GEOLOC
DB_X_LL 1140000
DB_Y_LL 235000
DB_X_UR 1310000
DB_Y_UR 435000
COORDINATESYSTEM NonEarth Units "m" Bounds (1140000, 235000) (1310000, 435000)
SYMBOL Symbol (49,0,12) Pen (1,2,0) Pen (1,2,0) Brush (1,0,16777215)
XCOLUMNNAME
YCOLUMNNAME
RENDITIONTYPE 0 |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Вт Апр 12, 2011 8:08 pm Заголовок сообщения: |
|
|
Сохранить добавленную запись в таблицу не забыли? Commit сделали?
После этого MapInfo перезапускали?
По колонкам там большинство полей очевидно:
SPATIALTYPE - тип хранимых данных (13 - Геометрия Oracle Spatial, 3 не помню что)
TABLENAME - название таблицы
OWNERNAME - схема таблицы
SPATIALCOLUMN - название колонки в таблице для хранения геообъектов
DB_X_LL - мин X
DB_Y_LL - мин Y
DB_X_UR - макс X
DB_Y_UR - макс Y
COORDINATESYSTEM - координатная система таблицы
SYMBOL - значение стилей по умолчанию |
|
Вернуться к началу |
|
|
FedorinoFF
Зарегистрирован: 01.02.2007 Сообщения: 272 Откуда: Санкт-Петербург
|
|
Вернуться к началу |
|
|
strelka555
Зарегистрирован: 07.04.2011 Сообщения: 16
|
Добавлено: Ср Апр 13, 2011 1:35 pm Заголовок сообщения: |
|
|
не полуается, транзакцию я подтвердила, все сделала как сказали, не открывает Mapinfo, ту же самую ошибку пишет. Что еще можно попробывать? Спасибо! |
|
Вернуться к началу |
|
|
strelka555
Зарегистрирован: 07.04.2011 Сообщения: 16
|
Добавлено: Ср Апр 13, 2011 2:25 pm Заголовок сообщения: |
|
|
А когда пытаешься открыть таблицу и ставишь галочку "прямой доступ", он выдает уже другую ошибку "таблице необходимо одно числовое поле индекса", создаю индекс на поле geoloc выходит ошибка 15:21:04 Error: ORA-02327: cannot create index on expression with datatype ADT, хотя тип данных у этого поля MDSYS.SDO_GEOMETRY |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Чт Апр 14, 2011 3:51 pm Заголовок сообщения: |
|
|
Мне кажется проще будет вылить таблицу в tab, и залить обратно через EasyLoader. |
|
Вернуться к началу |
|
|
strelka555
Зарегистрирован: 07.04.2011 Сообщения: 16
|
Добавлено: Пт Апр 15, 2011 10:34 am Заголовок сообщения: |
|
|
Вы меня, наверное, не поняли, задача состоит в том чтобы написать представление для пользователей с данными из нескольких таблиц в том числе с графикой, чтобы пользователь смог открыть его через mapinfo просмотреть и выгрузить, последний ваш вариант не подходит так как эта вьюшка не хочет открываться из-за графики, в .tab выгрузить то же не могу так как не открывается. С вьюшкой не получилась поэтому создала, ради эксперемента, клон таблицы с графикой, с ней то же не получилось. Помогите пожалуйста очень надо! |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Пн Апр 18, 2011 3:16 pm Заголовок сообщения: |
|
|
Ах вон оно что! Представление захотели! )
Не уверен, не проверял, не знаю, будет ли MapInfo вообще работать с представлением заместо таблицы.
Проверить это можно подглядев какие запросы бросает MapInfo в Oracle. Если там прямая работа с представлениями типа all_tables, dba_tables, то труба - оно вьюхи конечно не увидит. |
|
Вернуться к началу |
|
|
strelka555
Зарегистрирован: 07.04.2011 Сообщения: 16
|
Добавлено: Пн Апр 18, 2011 7:16 pm Заголовок сообщения: |
|
|
родные встроенные вьюшки mapinfo открывает нормально. |
|
Вернуться к началу |
|
|
SergS
Зарегистрирован: 01.11.2010 Сообщения: 51
|
Добавлено: Вт Апр 19, 2011 6:41 am Заголовок сообщения: |
|
|
strelka555 писал(а): |
А когда пытаешься открыть таблицу и ставишь галочку "прямой доступ", он выдает уже другую ошибку "таблице необходимо одно числовое поле индекса", создаю индекс на поле geoloc выходит ошибка 15:21:04 Error: ORA-02327: cannot create index on expression with datatype ADT, хотя тип данных у этого поля MDSYS.SDO_GEOMETRY |
в данном случае необходимо именно числовое поле на котором можно построить уникальный индекс (что-то типа идентификатора записи, может не иметь никакого отношения к интересующим вас данным таблицы). уже забыл особенности взаимодествия MI c Oracle, но что-то мне вспоминается, что тип данных MDSYS.SDO_GEOMETRY для этого не подходит. |
|
Вернуться к началу |
|
|
|