Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: .NET Framework
.NET
Standard
Proces uzyskiwania obiektu DbProviderFactory obejmuje przekazywanie informacji o dostawcy danych do DbProviderFactories klasy. Na podstawie tych informacji GetFactory metoda tworzy silnie typizowana fabrykę dostawcy. Aby na przykład utworzyć obiekt SqlClientFactory, można przekazać GetFactory ciąg z nazwą dostawcy określoną jako "Microsoft.Data.SqlClient".
Inne przeciążenie przyjmuje GetFactory element DataRow. Po utworzeniu fabryki dostawcy możesz użyć jej metod w celu utworzenia dodatkowych obiektów. Niektóre metody elementu SqlClientFactory to CreateConnection, CreateCommandi CreateDataAdapter.
Zarejestruj SqlClientFactory
Aby pobrać obiekt przy użyciu klasy SqlClientFactoryDbProviderFactories w .NET Framework, należy zarejestrować go w pliku App.config lub web.config. Poniższy fragment pliku konfiguracji przedstawia składnię i format pliku .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>
Niezmienny atrybut identyfikuje bazowego dostawcę danych. Ta trzyczęściowa składnia nazewnictwa jest również używana podczas tworzenia nowej fabryki i identyfikowania dostawcy w pliku konfiguracji aplikacji, aby można było pobrać nazwę dostawcy wraz ze skojarzonymi parametry połączenia w czasie wykonywania.
Uwaga / Notatka
W programie .NET Core, ponieważ nie ma GAC ani obsługi konfiguracji globalnej, obiekt SqlClientFactory powinien zostać zarejestrowany wywołując metodę RegisterFactory w projekcie.
W poniższym przykładzie pokazano, jak używać funkcji SqlClientFactory w aplikacji .NET Core.
private static DbProviderFactory GetFactory()
{
// register SqlClientFactory in provider factories
DbProviderFactories.RegisterFactory("Microsoft.Data.SqlClient", SqlClientFactory.Instance);
return DbProviderFactories.GetFactory("Microsoft.Data.SqlClient");
}