Saya ingin membuat salinan yang tepat (domain, kumpulan data fitur, kelas fitur, dll.) Dari basis data SDE ke geodatabase file.
Saya telah mencoba beberapa kemungkinan, termasuk:
- menggunakan proses Salin (Manajemen Data)
- membuat GDB baru dan secara manual menyalin setiap dataset fitur dari SDE
- mengekspor dokumen ruang kerja xml dari SDE dan mengimpornya ke GDB
The Copy_management
Proses tidak tampak seperti itu akan bekerja untuk menyalin SDE ke GDB, karena input dan output tipe data harus cocok.
Proses mengimpor setiap dataset fitur ke GDB baru mungkin dapat diotomatisasi menggunakan Copy_management juga dengan mengulangi setiap dataset fitur, meskipun tampaknya ini dapat menyebabkan masalah salinan yang tidak lengkap jika ada kesalahan dengan salah satu proses.
Mengekspor dan mengimpor ruang kerja xml tampaknya berhasil, meskipun proses ini menciptakan file yang sangat besar ketika proses tersebut digunakan pada geodatabases besar.
Apakah ada cara yang lebih mudah untuk menyalin konten dan skema SDE ke GDB daripada cara yang disebutkan, dengan cara yang bisa otomatis?
Jika tidak, adakah alasan bahwa kemungkinan di atas tidak boleh digunakan dalam proses ini?
Jawaban:
Satu-satunya cara Anda bisa mendapatkan salinan data yang benar (domain, kumpulan data, hubungan, dll) adalah dengan menggunakan metode salin dan tempel manual di dalam katalog. ESRI belum memberi kami kemampuan untuk mentransfer data ini dengan cara lain dengan satu operasi yang dapat dituliskan dengan mudah.
Saya memiliki proses malam yang menyalin dua Database SDE utama saya ke file geodatabases untuk Continuity of Operations. Hal ini dimaksudkan agar dalam keadaan darurat staf saya memiliki beberapa data untuk dikerjakan sampai toko IT saya dapat membangun kembali SDE saya dari cadangan. Setelah banyak percobaan dan kesalahan saya telah memutuskan kita dapat hidup dengan keterbatasan menggunakan FeatureClassToFeatureClass_conversion dan TableToTable_conversion untuk mentransfer data kami setiap malam.
Ya, kami kehilangan beberapa fungsi dari geodatabase tetapi sekarang akan berjalan tanpa pengawasan di malam hari dan siap untuk pergi segera setelah saya mendapatkannya. Dalam kasus saya, satu-satunya fungsi yang benar-benar kami lewatkan (dengan asumsi beroperasi dalam mode darurat) adalah bahwa kelas hubungan saya rusak karena konversi mengatur ulang ObjectIDs yang menautkan kedua tabel.
Sampai ESRI memberi kami lebih banyak opsi, Anda harus melihat apa yang ingin Anda korbankan saat ini; waktu dan usaha atau fungsionalitas?
sumber
Saya tahu posting ini agak tua tapi saya pikir saya akan membagikan jawaban saya karena saya dihadapkan dengan masalah yang sama. Script berikut HARUS menyalin semua tabel, kelas fitur dan hubungan tidak dalam dataset dan juga akan menyalin semua dataset termasuk kelas fitur, topologi, dll dalam dataset. Ini akan melompati kesalahan apa pun selama copy dan terus berjalan. Ini akan menghasilkan file log yang berisi data seperti hitungan item sumber DB dan jumlah item tujuan sehingga Anda dapat membandingkan salinan dan itu akan mencatat kesalahan yang ditemui juga.
Saya sangat beruntung dengan ini. Saya mereplikasi database SDE ke file geodatabase. Saya belum melakukan pengujian yang terlalu luas pada skrip ini karena memenuhi semua kebutuhan saya. Saya mengujinya menggunakan ArcGIS 10.3. Juga, satu hal yang perlu diperhatikan, saya sedang dalam pembicaraan dengan seseorang yang telah menggunakan skrip ini dan mereka mengalami masalah dengan kesalahan menyalin dataset tertentu karena izin yang tidak tepat dan tabel kosong.
Lemur - mengapa tidak membuat hubungan Anda berdasarkan id global alih-alih id objek? Bahwa Anda, hubungan Anda akan dipertahankan. Jika Anda belum membuat id global, saya akan sangat merekomendasikannya.
-memperbarui
Saya menambahkan sedikit lebih banyak logika ke dalam kode untuk menangani jalur koneksi database yang buruk dan logging yang lebih baik dan penanganan kesalahan:
sumber
Saya telah menggunakan skrip yang mirip dengan Peter di atas dan beruntung, meskipun itu lebih baik. Satu hal yang menunjukkan bahwa seseorang mungkin tersandung adalah jika Anda menggunakan 64 bit python geoprocessing dan Anda memiliki ArcFM dimuat di atas ESRI, itu akan gagal pada semua fitur yang telah ditetapkan untuk menggunakan ArcFM atau Designer dengan KESALAHAN 000260. Ini karena Anda harus menggunakan python 32 bit atau hal-hal ArcFM tidak akan dilisensikan dengan benar.
Untuk deskripsi lebih rinci tentang menggunakan 32 bit ArcPy, lihat dua komentar pertama pada utas ini di Exchange
https://infrastructurecommunity.schneider-electric.com/docs/DOC-2563
sumber
Jika Anda memiliki hak admin, Anda dapat menggunakan perintah salin dan rekat sederhana untuk mengekspor atau mengimpor sde ke file geo-database vise versa dan Lihat di sini untuk detail lebih lanjut.
sumber