2011-04-01 13 views
1

.Net 응용 프로그램에서 모든 개체와 함께 SQL Server 데이터베이스 스키마를 반영하는 가장 간단한 방법은 무엇입니까?SQL Server 데이터베이스 스키마 및 개체 검색 및 .Net 응용 프로그램에 반영

기본적으로 데이터베이스 스키마를 검사하고 모든 테이블과 다른 개체를 표시하는 응용 프로그램을 원합니다. 또한 모든 테이블 열과 해당 속성 (유형, 제약 조건 등)을 탐색 할 수 있어야합니다.

내 데이터 액세스 요구에 데이터 액세스 응용 프로그램 블록을 사용할 계획입니다. 또한 위의 요구 사항을 충족합니까?

답변

2

원하는 데이터 액세스 방법을 사용할 수 있습니다. 데이터베이스에서 올바른 쿼리를 실행하기 만하면됩니다. This article 당신이 원하는 것에 대한 좋은 예가있는 것 같습니다.

2

SQL Server는 사용할 수있는 몇 가지 시스템보기를 제공합니다. sys.tables 목록 모든 테이블 등 sys.columns 모든 열

MSDN은 FAQ 있습니다.

1

SQL Server의 메타 데이터 테이블에서 쿼리를 사용할 수 있지만이 정보에 액세스하는 가장 깨끗한 방법은 Sql Server Management Objects (SMO)입니다.

이 예제를 사용하려면 Microsoft.SqlServer.ConnectionInfo, Microsoft.SqlServer.Management.Sdk.Sfc 및 Microsoft.SqlServer.Smo를 참조하십시오.

using Microsoft.SqlServer.Management.Smo; 
using Microsoft.SqlServer.Management.Common; 

    var sqlConnection = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI"); 
    var server = new Server(new ServerConnection(sqlConnection)); 

    foreach (Database database in server.Databases) 
    { 
     foreach (Table table in database.Tables) 
     { 
      Console.WriteLine("{0}: {1}", database.Name, table.Name);  
     } 
    }