2014-05-21 1 views
0

SQL Server 2012에서 SQL Server 2008 R2로 만든 저장 프로 시저를 실행하고 엔터티 데이터 모델을 통해 데이터를 검색하는 동안이 오류가 발생합니다.SQL Server 2012 : 사용중인 SQL Server 버전이 'datetime2'데이터 형식을 지원하지 않습니다.

데이터 유형을 지원하지 않습니다 사용 SQL Server 버전 'DATETIME2'

저장 프로 시저가 SQL Server 관리 Studio 2012에서 성공적으로 실행하지만 문제는 엔터티 데이터에 돌아 오는 경우 모델.

누구든지 이런 종류의 문제가 발생 했습니까 ??

+0

입니다 entityframework 생성 속성은 실제로 해당 필드에 대해 기대하고 있습니다. 엔티티 프레임 워크가 datetime2를 올바르게 매핑하지 않았을 때 전에이 메시지를 보았습니다. –

+0

EDM으로 연결된 버전보다 높은 버전의 서버에서 모델을 생성 했습니까? –

답변

2

실행중인 데이터베이스의 호환성 수준은 입니다 무엇입니까?

확인

SELECT compatibility_level 
FROM sys.databases 
WHERE name = 'YourDatabaseNameHere' 

DATETIME2가 SQL 서버 2008에 도입 된 사용 - 그래서 그 수준이 (SQL 서버 2008 인) 100 미만이면 다음 DATETIME2 데이터 유형 서비스는 아직 제공되지 않습니다.

데이터베이스가 SQL Server 2005 인스턴스에서 업그레이드 된 경우 호환성 수준은 여전히 ​​90 (SQL Server 2005)이므로 DATETIME2 데이터 형식을 아직 사용할 수 없습니다.

다음을 사용하여 최근 값으로 데이터베이스 호환성 수준을 업그레이드 할 수 있습니다

ALTER DATABASE YourDatabaseNameHere 
SET COMPATIBILITY_LEVEL = 100; 
level = 100는 SQL 서버에게 R2 2,008분의 2,008입니다

level = 110 무엇을 확인하기 위해 매핑 파일을 확인 SQL 서버 2012

+0

OP는 SP가 SSMS를 성공적으로 실행한다는 것을 나타냅니다. –

+0

@HamletHakobyan : 사실 - 스토어드 프로 시저에서 그가 무엇을하고 있는지 알지 못합니다. 저는 2005 데이터베이스를 상대로 Entity Framework에서 이와 같은 문제를 겪었습니다. 그것이 그 원인이 될 수 있는지 묻고있는 이유입니다 ... –

+0

@marc_s 이것이 문제라면 SSMS에서 제대로 실행되지 않을까요? ?? –