2013-06-11 64 views
3

我研究如何將.shp文件加載到地理列在SQL 2008SqlGeography在C#

我讀這個博客: 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 系統CLR類型包中包含SQL Server 2008中這 組件可以從服務器分開安裝,以允許客戶端應用程序 使用這些類型實施新 幾何,地理成分,並HIERARCHYID類型在服務器之外。一個版本可以 在這裏找到:

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

但是,鏈接不再有效....因此,沒有人知道我在哪裏能得到這個.dll?

UPDATE w/Answer!

彼時我做了網上搜索,發現存在DLL這裏:

C:\ Program Files文件(x86)的\微軟SQL服務器 \ 100 \ SDK \組件\ Microsoft.SqlServer。 Types.dll

一旦我添加引用,我不再看到該錯誤,我可以使用SqlGeography作爲C#中的類型。

+0

我知道這個問題很陳舊,但既然你有答案,爲什麼不把它貼出來,標記出來,然後像我這樣的用戶就不會認爲這個問題仍然沒有解決! :) – Bridge

+0

@Bridge - 完成。 – webdad3

回答

2

彼時我做了網上搜索,發現存在DLL這裏:

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

有一次,我補充說,參考我不再看到的錯誤,我能夠使用SqlGeography作爲鍵入C#。

3

這些作爲NuGet包現在存在

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

所以最好是使用而不是直接裁判的DLL。

+0

是的,這是一個更好的選擇,並且要小心安裝的軟件包的版本 - 例如,選擇10.50.1600.1來與SQL 2008兼容 - 否則由於版本衝突會導致奇怪的投射錯誤。 –