导出/导入 MS Sql 2008 地理数据的最佳方法

发布于 2024-07-09 09:27:22 字数 1087 浏览 9 评论 0原文

(解答)如何从 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')

我通过 Spatial 大师 Isaac Kunen 并在 Kent Tegels,在此讨论主题此处

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

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

HTH。

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

(ANSWER) How to export some Geography data from a Microsoft Sql Server 2008.

You'll need to use the command line argument BCP to dump the data in it's original (native) format to a binary file. Then on the other server you can bulk insert this binary data back into a table of the same strucutre.

here's some code.

Export

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

Notes

  • This uses a Trusted connection
  • use the bcp /? for more help for your export options if u need to be hardcore.

Importing the data

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

I learnt all this through the Spatial guru Isaac Kunen and with the help of Kent Tegels, in this discussion thread here.

The reason for the BCP method is highlighted by Isaac in this quote:

Its worth pointing out that WKB is a
lossy format, in that it does not
store the SRID. So if you extract and
insert the WKB, you'll have to carry
the SRID yourself. Our internal
binary format does store the SRID, so
a BCP like this should be less hassle.

HTH.

EDIT: Replaced entire post question as a community wiki .. this this Post being an answer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱*していゐ 2024-07-16 09:27:23

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

bulk insert error!!!
Msg 6522, Level 16, State 1, Line 1
A .NET Framework error occurred during execution of user-defined routine or aggregate "geometry":

寒江雪… 2024-07-16 09:27:22

我最初删除了开头帖子中的问题,用答案替换它(在 08 年底)......并将其设为 wiki。

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

I originally removed the question in the opening post, to replace it with the answer (at the end of '08) ... and make it a wiki.

So yeah .. the OP is the answer :P

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文