ORACLE 9.2 и ArcGIS 9.2.Изменение форматов полей

0 голосов
спросил 17 Ноя, 07 от Valgis (480 баллов) в категории Программные продукты Esri


Добрый день!
Такая ситуация. Данные хранятся в ORACLE в виде множества таблиц. Средствами ORACLE формируются определенные наборы данных в виде VIEW, которые потом пользователи вызывают из ArcMap или ArcCatalog. Если данные выбираются по простым условиям <>,is(not)null,(not)like то проблем нет. Если в процессе отбора с данными просходят операции типа +, -, *, /, nvl или cast, то теряется тип числового формата полей. Поля приходят в ArcGIS в формате Long (38) - длинное целое.
Может кто-нибудь уже сталкивался с подобной проблемой и знает где искать причину. В ArcGIS, в провайдере Oracle, в самом Oracle?
    
    

4 Ответы

0 голосов
ответил 18 Ноя, 07 от PITKS1 (20,860 баллов)
Что мешает поднять это View с любого клиента оракла и посмотреть на возвращаемЫй тип данных. Оттуда уже и плясать можно.
0 голосов
ответил 18 Ноя, 07 от Valgis (480 баллов)
Что мешает? Самая малость:) Вопрос со стороны пользователей ArcGIS и View...........
Программисты утверждают, что у них все ОК. Что в ORACLE существуют только 2 формата number и varchar2. Согласно help'y к ArcGIS мы просим их переопределить формат поля kak, допустим number(5,1), ожидая, что к нам придет число в формате float(5,1) (4 цифры до запятой и 1 после), В запросе прописывают cast(Field as number(5,1)) as newField. Но к нам все равно приходит long (длинное целое). В результате мы получаем усеченное значение.
Объяснения и варианты работы, предложенные нам, нас не вполне устраивают....Хочется с помощью уважаемого форума, лично убедиться , что из ORACLE в ArcGIS действительно не могут вернуться нормальные значения.
0 голосов
ответил 19 Ноя, 07 от Alexander1 (32,520 баллов)
0 голосов
ответил 27 Ноя, 07 от Valgis (480 баллов)
К сожалению........
Причина проблемы выяснена, пути намечены, но стабильного положительного результата нет.
Oracle 9.2.0.1 оказывается родился с этой проблемой.... пропатчив клиент до 9.2.0.7( до базовой версии Oracle) получили еще пару провайдеров. Наиболее привлекательным оказался Oracle in OraHome92. Но 100% совпадения форматов так и не получили. На сайте Oracle взяли ODBC и OLE для 9.2.0.8. Вот думаем будет ли корректно пропатчить клиент и драйвера до 9.2.0.8 на стороне пользователей, если данные берутся из Oracle пропатченного только до 9.2.0.7?
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...