0
Completed

Импорт обменного файла с длинными именами слоёв (под ORACLE)

Сергей Попов 12 years ago updated by Михаил Власов 11 years ago 1

Увы, в любых вериях ИнГЕО - это НЕВОЗМОЖНО.

В дистрибутиве ИнГЕО этого года есть файл "Условные обозначения М500.idf"

Под PARADOX он закачивается. Под MS-SQL вероятно тоже.

Но под ORACLE нет!

ПЕРВАЯ ОШИБКА:

error   Семантическая таблица: "Характеристики".  Ошибка создания таблицы: General SQL error.  ORA-04044: procedure, function, package, or type is not allowed here  Table structure:   Table Name: название_схемы.MD  Fields(ID String(12) NOT NULL, MATERIAL String(5), DIAMETR String(20), CHISLO_DIAMETROV String(20), NAZNACHENIE String(5), PODPIS_ String(5), PODPIS__KHAR_DVIZH String(5), glub Float)  Indexes((ID) Primary Unique)  Сем. таблица:Характеристики  Слой:Канализация  Карта: 500 Трубопроводы.Сооружения на коммуникациях.
НА ЭТОМ ИМПОРТ ПРЕКРАЩАЕТСЯ и следующие ошибки мы сможем узнать, только пройдя этот этап.

Ещё есть порядка двух сотен предупреждений:

warning Ошибка добавления записи справочника "Территориальные зоны". Ошибка: General SQL error.  ORA-22990: LOB locators cannot span transactions.

Тестировал под Oracle 10g Express Edition

Я думаю дело в генерации неверных названий таблиц, индексов, ограничений (повторяющихся, превышающих 30 символов, использующих недопустимые символы, не заключённых в кавычки)

Answer

Answer
Completed

В 4.6 при импорте в Oracle имена автоматически корректируются соответственно ограничениям этой СУБД.

По поводу предупреждений для справочника "Территориальные зоны".

В данном справочнике 3 поля типа CLOB.

Раньше, когда такого типа небыло, его функции выполнял тип LONG и разрешено было иметь только ОДНО ПОЛЕ такого типа.

Думаю что BDE драйвер для ORACLE остался прежним и не позволяет одним SQL-предложением заполнять сразу 3 длинных поля.

Answer
Completed

В 4.6 при импорте в Oracle имена автоматически корректируются соответственно ограничениям этой СУБД.