Il modo migliore per esportare / importare i dati geografici di MS Sql 2008
-
08-07-2019 - |
Domanda
(RISPOSTA) Come esportare alcuni dati geografici da un Microsoft Sql Server 2008.
Dovrai utilizzare l'argomento della riga di comando BCP per scaricare i dati nel formato originale (nativo) in un file binario. Quindi sull'altro server è possibile reinserire in blocco questi dati binari in una tabella della stessa struttura.
ecco un po 'di codice.
Esporta ??h3>
Command Line: bcp "geodata.dbo.GeographyData" out "C:\GeoData.bin" -T -n -S <servername>
Note
- Utilizza una connessione Trusted
- usa bcp /? per ulteriore aiuto per le tue opzioni di esportazione se devi essere hardcore.
Importazione dei dati
T-SQL: bulk insert GeographyData from 'C:\GeoData.bin' with (dataFileType='Native')
Command Line: bcp "geodata.dbo.GeographyData" out "C:\GeoData.bin" -T -n -S <servername>
T-SQL: bulk insert GeographyData from 'C:\GeoData.bin' with (dataFileType='Native')
Ho imparato tutto questo attraverso il guru dello spazio Isaac Kunen e con l'aiuto di Kent Tegels , in questo thread di discussione qui .
Il motivo del metodo BCP è evidenziato da Isaac in questa citazione:
Vale la pena sottolineare che WKB è un formato con perdita, in quanto non lo è memorizzare l'SRID. Quindi se estrai e inserisci il WKB, dovrai portarlo con te il SRID tu stesso. Il nostro interno il formato binario memorizza l'SRID, quindi un PCC come questo dovrebbe essere meno problematico.
HTH.
EDIT: ha sostituito l'intera domanda del post come wiki della comunità .. questo post è una risposta.
Soluzione
Inizialmente ho rimosso la domanda nel post di apertura, per sostituirla con la risposta (alla fine del '08) ... e renderla un wiki.
Quindi sì .. l'OP è la risposta: P
Altri suggerimenti
errore di inserimento in blocco !!! Messaggio 6522, livello 16, stato 1, riga 1 Si è verificato un errore .NET Framework durante l'esecuzione della routine definita dall'utente o aggregato "geometria":