TableToTable_conversion и FeatureClassToFeatureClass_conversion завершаются ошибкой в ​​сценарии, но выполняются вручную с помощью Postgres - PullRequest
0 голосов
/ 06 июня 2018

Все,

Я пытаюсь скопировать некоторые данные ГИС из базы данных Oracle в базу данных Postgres, обе из которых размещены в AWS.Я запускаю скрипт Python с экземпляра сервера, на котором были установлены соединения с обеими базами данных, и они работают должным образом во всех других тестах, проводимых до сих пор.Я специально пытаюсь использовать arcpy функции TableToTable_conversion и FeatureClassToFeatureClass_conversion для передачи данных, потому что другие методы оказались слишком медленными.(Другие методы: CopyFeatures / CopyRows, Добавление к пустым оболочкам и TRUNCATE / INSERT на основе SQL) Две используемые функции - единственные, о которых я сейчас беспокоюсь, поэтому я не ищу альтернативы.Если я запускаю следующую команду из оболочки Python, она успешно работает:

arcpy.TableToTable_conversion("TABLE1", r'C:\SDE_Connections\DB_CONNECT.sde', "TABLE1_COPY")

Но если я запускаю ее из кода, я получаю следующую ошибку:

arcgisscripting.ExecuteError: ERROR 000210: Cannot create output C:\SDE_Connections\DB_CONNECT.sde\TABLE1_COPY

ЕслиЯ заменяю соединение с базой данных соединением Oracle, оно также работает из скрипта.В частности, когда я пытаюсь использовать соединение postgres в коде, оно терпит неудачу.Рабочая область заранее определена правильно, и я использую ArcGIS 10.5, Python 2.7.Кто-нибудь знает об ошибке, которая препятствует сбою любой из вышеупомянутых функций внутри скрипта Python, когда postgres является целевой базой данных для вывода?Опять же, если я скопирую и вставлю код в оболочку Python, это будет успешно.Я в тупике.

1 Ответ

0 голосов
/ 12 июня 2018

Решение. В процессе настройки этих баз данных меня убеждали в том, что они являются снимками и копиями производственной базы данных, хранящейся вне облака.Оказывается, что не все было скопировано.В частности, производственная база данных имела ключевое слово конфигурации среды arcpy, которое не было восстановлено.Более ранний раздел тестируемого сценария устанавливал для этого ключевого слова конфигурации значение, которое не существовало, и, следовательно, наблюдаемую ошибку.Сброс ключевого слова конфигурации на «ПО УМОЛЧАНИЮ» в сценарии решил проблему.Хотелось бы, чтобы сообщение об ошибке не было таким общим!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...