2013-12-09 3 views
2

방금 ​​센서스 블록 모양 파일을 Microsoft SQL Server 2012로 가져오고 이제 가져온 데이터에 지형 기능 (STContains, STWithin, UnionAggregate 등)을 사용하려고 할 때 문제가 발생했습니다. .prj 파일을 가져 오기 전에 .shp 파일을 가져오고 geogrpahy이고 도형 유형이 아닌 것으로 확신합니다.Microsoft.SqlServer.Types를 Microsoft SQL Server 2012로 가져 오는 방법은 무엇입니까?

Msg 6506, Level 16, State 10, Line 6 
Could not find method 'stcontains' for type 'Microsoft.SqlServer.Types.SqlGeography' in assembly 'Microsoft.SqlServer.Types' 

:

DECLARE @g geography; 
DECLARE @h geography; 
SET @g = geography::Parse('CURVEPOLYGON (COMPOUNDCURVE (CIRCULARSTRING (-122.200928 47.454094, -122.810669 47.00648, -122.942505 46.687131, -121.14624 45.786679, -119.119263 46.183634), (-119.119263 46.183634, -119.273071 47.107523, -120.640869 47.569114, -122.200928 47.454094)))'); 
SET @h = geography::Parse('POINT(-121.703796 46.893985)'); 

select @g.stcontains(@h) 

이 내가 나타나는 오류입니다 :

은 (바로 MSDN 웹 사이트에서 제공하는)를 테스트하기 위해, 내가 노력 한 예이다 주제에 대한 연구를 해본 결과 어떤 종류의 기능을 추가해야하는 것처럼 보입니다. Program Files/Microsoft SQL Server/100/SDK/Assemblies/Microsoft.SqlServer.Types.dll을 통해 설치하라는 권장 사항을 보았으므로 C : 폴더를 확인했지만 '어셈블리'폴더를 찾을 수 없기 때문에 난처한 상황에 처했습니다. 또한 Microsoft SQL Server 2012 기능 팩 ( http://www.microsoft.com/en-us/download/details.aspx?id=29065)을 다운로드하라는 권장 사항을 보았지만 정확히 볼 필요가있는 곳이라면 정확히 무엇이 필요한지 잘 모릅니다.

제공되는 도움을 주시면 대단히 감사하겠습니다. 미리 감사드립니다.

+0

동일한 문제가 있습니다. 누구든지 이에 대한 해답을 갖고 있습니까? 아니면 누구든지 Microsoft에 버그 보고서를 제출할 수 있습니까? 우리는 SQL Server 2014 및 데이터베이스 호환성 수준 120을 실행 중이며 여전히 SSMS에서 "Microsoft.SQLServer.Types 어셈블리의 Microsoft.SQLServer.Types.SQLGeography 유형에 대한 메서드 .STContains를 찾을 수 없습니다."오류가 발생합니다. 서비스 팩을 설치 하시겠습니까? 기능 팩 또는 무엇인가? 그리고 .STContains, .STcontains 및 .stcontains 같은 다른 경우를 시도했습니다. 없음. – Baodad

답변

1

내 프로젝트의 많은 경우 프로젝트 레벨 (Visual Studio)에서 "라이브러리"라는 폴더를 만들었습니다.이 라이브러리는이 특성과 다른 제 3 자의 DLL을 넣습니다. 그게 표준 관행인지는 모르겠지만, 내가 함께 일하는 모든 사람들은 잠시 동안이 작업을 해왔고 그 전에는 TFS와 Subversion에서 잘 작동했습니다.

어쨌든, 내이 디렉토리에 앉아있다 (SQL 2012/승리 64분의 7 비트 OS) :

C : \ 프로그램 파일 (86) 마이크로 소프트 \ SQL 서버는 \ 110 \는

을 공유

그 디렉토리에서 프로젝트의 라이브러리 폴더로 복사합니다.

+0

큰 반응에 감사드립니다. 그 디렉토리에 앉아있는 걸 발견했습니다. SQL 내의 특정 데이터베이스에서 이러한 기능에 액세스하려는 경우 어디로 복사하여 붙여 넣을 수 있습니까? – ultimate8

+1

코드를 다시 읽었을 때 올바르게 대문자를 사용하려고 할 수도 있습니다.예를 들어, STUnion은 작동하지만 STunion은 작동하지 않습니다. T-SQL은 대소 문자를 구분하지 않기 때문에 조금 이상합니다. – radpin

+0

그게 효과가! 모든 도움을 주셔서 감사합니다. 감사드립니다. – ultimate8

0

나는 SQL 서버 2016 LocalDB 작업 동일한 문제가 발생했습니다

조립 입력 'Microsoft.SqlServer.Types.SqlGeography'에 대한 방법 'STCrosses'을 (를) 찾을 수 없습니다 '를 Microsoft.SqlServer .Types '는

그것은 STCrosses 지오메트리 데이터 유형에 대한 것을 이해하는 데에 시간이 좀 걸렸습니다 지리에있는 동안 내가해야 사용 STIntersects.