2014-02-06 3 views
1

SQL Server에서 특정 데이터베이스의 모든 테이블에 대한 메타 데이터를 추출해야하는 C# 응용 프로그램을 구현 중입니다.추출 테이블 메타 데이터 (설명, 필드 및 해당 데이터 형식)

이러한 질문은 이미 요청되었습니다. SQL- SQL Server meta data table and column descrption에서 그렇게해야합니다. 검색어를 실행하고 싶지 않습니다.

C#에 API가 있습니까? http://msdn.microsoft.com/en-us/library/ms254934(v=vs.110).aspx

위의 링크가 내가 원하는 것을 해결합니까 :

하기의 방법이있다?

링크의 예에서는 하나의 테이블 만 얻습니까? (하지만 내 요청은 모든 데이터베이스 테이블)뿐만 아니라 사용자 자격 증명 및 데이터베이스 이름을 지정합니까?

또한 이러한 실행의 성능에 대한 참조를 찾지 못했습니까? 나를 위해

는 우리가 정말 쿼리

+0

당신은합니다 ([포스트 형식 가이드]를 확인하실 수 있습니다 http://stackoverflow.com/editing-help). 새로운 단락을 만들려면 Enter를 두 번 누르십시오. 줄 바꿈의 경우 Enter를 한 번 누르고 두 칸을 들여 쓰기를하십시오. 두 개의 들여 쓰기가없는 개행은 단락으로 간주되지 않습니다. – Charles

답변

0

using (SqlConnection connection = new SqlConnection(@"Data Source=(local);Integrated Security=True;Initial Catalog=DB_Name;"))

{

connection.Open();

을 실행하지 않고 어떤 소스에서 메타 데이터 만 읽을 경우 스키마를 검색 할 매우 효과적해야한다고 본다 using (SqlCommand command = connection.CreateCommand()) {

// your code goes here... } } 1, using (SqlDataReader reader = command.ExecuteReader()) {

while (reader.Read())

{} }`

+0

쿼리를 실행하지 않는 방법이 있습니까? SqlConnection.GetSchema 메서드를 사용하지 않는 이유는 무엇입니까? – Yakov

+0

SqlConnection.GetSchema는 뷰와 테이블을 검색합니다. 뷰와 테이블이 모두 필요하고 Getschema 메서드로 할 수있는 경우 – Pradeep