2012-06-22 2 views
2

회사에서 SQL Server Compact를 사용하여 로컬 데이터베이스를 저장 및 관리하고 데이터베이스 테이블에서 기본 키 정보를 가져와야합니다.SQL Server Compact에서 PK 정보를 얻는 방법

이전에 OleDbConnection.GetSchema()을 사용하여 Jet 및 OLE 드라이버를 사용하는 Access 데이터베이스에서이 정보를 얻었습니다. 그러나 SqlCeConnection.GetSchema()NotImplementedException을 던집니다 (또는 동일한 예외를 throw하는 DBConnection.GetSchema()을 반환 함).

일반적으로 GetSchema()에 의해 반환되는 모든 정보가 필요하지 않습니다. 단지 PK의 이름입니다. SQL Server Compact 데이터베이스의 테이블에 대한 기본 키를 확인하는 좋은 방법이 있습니까?

참고 : 위의 메서드 참조는 정적 함수 호출이 아닙니다. 클래스 이름을 해당 유형의 오브젝트 참조라고 간주하십시오.

+1

GetSchema는 SQL Compact 4.0에서 잘 작동합니다! – ErikEJ

+0

@ ErikEJ : 고마워요. 앞으로 필요할 수도 있습니다. 나는 기회가있을 때 업그레이드 할 것이다. – MrWuf

답변

6
SELECT INDEX_NAME, COLUMN_NAME 
    FROM INFORMATION_SCHEMA.INDEXES 
    WHERE PRIMARY_KEY = 1 
    AND TABLE_NAME = 'MyTable'; 
+0

뷰 이름이 다르다고 생각합니다. 그러나 이것이 완료되는 방법입니다. – leppie

+0

@leppie MSDN의 스키마에서 문서를 찾을 수없는 것 같습니다. 찾으면 업데이트됩니다. –

+2

당신은 SSMS를 볼 수 있습니다.보기 아래 :) 저는 과거 프로젝트에서 많이 사용했습니다. – leppie

관련 문제