5

我正在研究如何将 .shp 文件加载到 SQL 2008 中的地理列中。

我正在阅读这个博客: http ://consultingblogs.emc.com/stevewright/archive/2009/01/23/how-to-load-spatial-data-into-sql-server-2008-from-net.aspx它指出:

要使用 SqlGeography C# 类型,您需要添加对以下命名空间的引用:Microsoft.SqlServer.Types。这可以在以下 dll 中找到:Microsoft.SqlServer.Types.dll

但是,我在我的机器上的任何地方都看不到它。我正在查看 .Net 选项卡和 COM 选项卡下的添加引用,但我没有看到它。我也在我的机器上搜索过Microsoft.SqlServer.Types.dll,没有找到。

我需要在我的机器上安装什么东西才能在 C# 中使用 SqlGeography 吗?

更新!

阅读完博客条目后,我发现了这一点:

与报表查看器控件一样,Microsoft.SqlServer.Types 命名空间未随 .Net 一起安装。要使应用程序在另一台计算机上运行,​​而无需安装 SQL 服务器或其客户端工具,则需要安装可再发行包。

SQL Server System CLR Types 包包含实现 SQL Server 2008 中新的几何、地理和层次 ID 类型的组件。该组件可以与服务器分开安装,以允许客户端应用程序在服务器之外使用这些类型。可以在这里找到一个版本:

http://www.microsoft.com/downloads/details.aspx?FamilyId=C6C3E9EF-BA29-4A43-8D69-A2BED18FE73C&displaylang=en

但是,该链接不再有效......那么有谁知道我在哪里可以得到这个 .dll?

更新有答案!

我最终在网上搜索并发现该dll存在于此处:

C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Types.dll

添加该引用后,我不再看到错误,并且可以将 SqlGeography 用作 C# 中的类型。

4

2 回答 2

5

这些现在作为一个 nuget 包存在

https://www.nuget.org/packages/Microsoft.SqlServer.Types/

所以最好使用它而不是直接引用 DLL。

于 2014-11-25T15:09:18.947 回答
3

我最终在网上搜索并发现该dll存在于此处:

C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Types.dll

添加该引用后,我不再看到错误,并且可以将 SqlGeography 用作 C# 中的类型。

于 2014-11-25T15:06:57.620 回答