다음을 통해 공유


SqlClientFactory 가져오기

적용 대상: .NET Framework .NET .NET Standard

ADO.NET 다운로드

DbProviderFactory를 가져오는 프로세스에서는 데이터 공급자에 대한 정보가 DbProviderFactories 클래스에 전달됩니다. GetFactory 메서드는 이 정보를 기반으로 하여 강력한 형식의 공급자 팩터리를 만듭니다. 예를 들어 SqlClientFactory를 만들려면 공급자 이름을 "Microsoft.Data.SqlClient"로 지정하는 문자열을 GetFactory에 전달합니다.

GetFactory의 다른 오버로드는 DataRow를 사용합니다. 공급자 팩터리를 만든 후에는 해당 메서드를 사용하여 다른 개체를 만들 수 있습니다. SqlClientFactory의 메서드로는 CreateConnection, CreateCommandCreateDataAdapter가 있습니다.

SqlClientFactory 등록

.NET Framework에서 DbProviderFactories 클래스로 SqlClientFactory 개체를 검색하려면 App.config 또는 web.config 파일에 개체를 등록해야 합니다. 다음 구성 파일 조각에서는 Microsoft.Data.SqlClient의 구문과 형식을 보여 줍니다.

<system.data>
  <DbProviderFactories>
    <add name="Microsoft SqlClient Data Provider"
      invariant="Microsoft.Data.SqlClient"
      description="Microsoft SqlClient Data Provider for SQL Server"
      type="Microsoft.Data.SqlClient.SqlClientFactory, Microsoft.Data.SqlClient, Version=2.0.20168.4, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5"/>
  </DbProviderFactories>
</system.data>  

invariant 특성은 기본 데이터 공급자를 식별합니다. 세 부분으로 이루어진 이 명명 구문은 새 팩터리를 만들 때뿐만 아니라 공급자 이름 및 관련된 연결 문자열을 런타임에 검색할 수 있도록 애플리케이션 구성 파일에서 공급자를 식별하는 데도 사용됩니다.

참고 항목

.NET Core에서는 GAC 또는 글로벌 구성 지원이 없으므로 프로젝트에서 RegisterFactory 메서드를 호출하여 SqlClientFactory 개체를 등록해야 합니다.

다음 샘플에서는 .NET Core 애플리케이션에서 SqlClientFactory를 사용하는 방법을 보여줍니다.

private static DbProviderFactory GetFactory()
{
    // register SqlClientFactory in provider factories
    DbProviderFactories.RegisterFactory("Microsoft.Data.SqlClient", SqlClientFactory.Instance);

    return DbProviderFactories.GetFactory("Microsoft.Data.SqlClient");
}

참고 항목