Вместо того чтобы выполнять преобразование DB -> file -> DB, где Esri Shapefiles является компонентом-посредником, основанным на файлах, возможно, стоит изучить более прямую передачу DB -> DB. Есть несколько инструментов, которые могут сделать это, но я сосредоточен только на инструментах GDAL / OGR с открытым исходным кодом .
Предполагая, что у вас есть Windows Server, вы можете легко установить GDAL / OGR с помощью OSGeo4W . В режиме расширенной установки у вас есть возможность выбрать пользовательские конфигурации пакетов, например драйвер SDE (см. Этот список пакетов, чтобы убедиться, что существует подходящее соответствие для вашей версии SDE - поддерживаются только версии SDE 9.0–9.2). Эти пакеты являются только заголовками и оболочками и требуют, чтобы вы установили библиотеки SDE, которые вы должны иметь на CD / DVD-ROM, и убедитесь, что переменные PATH установлены соответствующим образом, чтобы GDAL / OGR мог их найти. Успешная установка покажет «SDE» где-нибудь с помощью следующей команды в оболочке OSGeo4W:ogr2ogr --formats
После настройки GDAL / OGR вы можете использовать несколько инструментов:
- Инструмент командной строки ogr2ogr из OSGeo4W оболочки, которая будет нужна команда что - то вроде:
ogr2ogr -f "PostgreSQL" PG:"host=localhost user=someuser dbname=somedb password=somepassword port=5432" \
SDE:server,instance,database,username,password,layer,[version]
(вы также можете исследовать различные -append
, -overwrite
или -update
варианты)
- Скопируйте и измените существующий сценарий Python, который подключается к SDE, и вы можете изменить его для передачи данных в другой источник данных.
Основным недостатком этого метода является то, что его сложно настроить.