Jak definiujemy połączenie SDE dla obszaru roboczego w skryptach Python?
python
enterprise-geodatabase
Ramakrishna Billakanti
źródło
źródło
Odpowiedzi:
DEWright po prostu mnie pobił, on jest od razu, użyj połączenia tak jak w ArcCatalog. Ale oto moje ujęcie, wykonane po pytaniu Pythona w ArcMap, przy użyciu bezpośredniej pełnej ścieżki do pliku połączenia sde:
Aby uzyskać ścieżkę do mojego pliku połączenia sde, po prostu kliknąłem prawym przyciskiem myszy bazę danych SDE w drzewie katalogu, poszedłem do właściwości, a następnie na karcie Ogólne skopiuj ścieżkę z pola Nazwa:
źródło
Przykłady od 3 do 5 na tej stronie są niesamowite w przypadku tego problemu: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//0017000000q7000000
Oto uproszczona wersja, którą stworzyłem, która pozwala mi na wykonywanie połączeń w locie w Pythonie przy użyciu tylko bezpośredniego połączenia Sql Server.
Za pomocą tego skryptu mogę utworzyć plik połączenia w locie, po prostu wywołując:
Eliminuje to problem niespójności plików połączeń z bazą danych między urządzeniami i profilami użytkowników.
źródło
md5.new( server + "_" + ServiceConnFileName + "_" + database + "-" + version + "_" + username + password).hexdigest()
- Wcięcie na księgowaniu do zwrotu jest nieprawidłowe, więc nie wiedziałem, że połączenie nie działa. - Kod zmienia wersję na wielką, moja wersja ma małą literęMusisz zdefiniować dokument połączenia SDE, tak jak normalnie w ArcCatalog; Następnie utworzysz ścieżkę do warstwy w języku Python w następujący sposób:
Spowoduje to ustawienie ścieżki do miejsca, w którym znajduje się plik .SDE, ale następnie ustaw ścieżkę w tym połączeniu do poszukiwanej warstwy. W moim przypadku ustawiłem również zmienną Year.
źródło
możesz również zdefiniować ścieżkę połączenia bezpośrednio w swoim zapytaniu.
i użyj go w wyszukiwarce itp.
źródło