9

(ANSWER) 如何从 Microsoft Sql Server 2008 中导出一些地理数据。

您需要使用命令行参数 BCP 将原始(本机)格式的数据转储到二进制文件中。然后在另一台服务器上,您可以将此二进制数据批量插入到相同结构的表中。

这是一些代码。

出口

Command Line: bcp "geodata.dbo.GeographyData" out "C:\GeoData.bin" -T -n -S <servername>

笔记

  • 这使用受信任的连接
  • 使用 bcp /? 如果您需要成为铁杆,请为您的出口选项提供更多帮助。

导入数据

T-SQL: bulk insert GeographyData from 'C:\GeoData.bin' with (dataFileType='Native')

我通过空间大师Isaac Kunen并在Kent Tegels的帮助下了解了这一切,在这里的讨论线程中。

Isaac 在这段引文中强调了 BCP 方法的原因:

值得指出的是,WKB 是一种有损格式,因为它不存储 SRID。因此,如果您提取并插入 WKB,您必须自己携带 SRID。我们的内部二进制格式确实存储了 SRID,所以像这样的 BCP 应该不那么麻烦。

HTH。

编辑:将整个帖子问题替换为社区 wiki .. 这个帖子是一个答案。

4

2 回答 2

2

我最初删除了开篇文章中的问题,用答案(在 08 年末)替换它......并使其成为一个 wiki。

所以是的.. OP就是答案:P

于 2010-08-06T01:06:32.270 回答
0

批量插入错误!!!消息 6522,级别 16,状态 1,第 1 行在执行用户定义的例程或聚合“几何”期间发生 .NET Framework 错误:

于 2009-03-12T05:48:03.313 回答