Bagikan melalui


Mendapatkan SqlClientFactory

Berlaku untuk: .NET Framework .NET .NET Standard

Mengunduh ADO.NET

Proses mendapatkan DbProviderFactory melibatkan meneruskan informasi tentang penyedia data ke kelas DbProviderFactories. Berdasarkan informasi ini, metode GetFactory membuat pabrik penyedia yang sangat berjenis. Misalnya, untuk membuat SqlClientFactory, Anda dapat meneruskan GetFactory string dengan nama penyedia yang ditentukan sebagai "Microsoft.Data.SqlClient".

Kelebihan beban GetFactory membutuhkan DataRow. Setelah Anda membuat pabrik penyedia, Anda lalu dapat menggunakan metodenya untuk membuat objek tambahan. Beberapa metode dari SqlClientFactory termasuk CreateConnection, CreateCommand, dan CreateDataAdapter.

Mendaftarkan SqlClientFactory

Untuk mengambil SqlClientFactory objek berdasarkan DbProviderFactories kelas di .NET Framework, Anda perlu mendaftarkannya dalam file App.config atau web.config . Fragmen file konfigurasi berikut ini menunjukkan sintaks dan format untuk 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>  

Atribut invariant mengidentifikasi penyedia data yang mendasar. Sintaks penamaan tiga bagian ini juga digunakan saat membuat pabrik baru dan untuk mengidentifikasi penyedia dalam file konfigurasi aplikasi sehingga nama penyedia, bersama dengan string koneksi terkait, dapat diambil pada waktu yang tepat.

Catatan

Di inti .NET, karena tidak ada GAC atau dukungan konfigurasi global, SqlClientFactory objek harus didaftarkan dengan memanggil RegisterFactory metode dalam proyek.

Contoh berikut menunjukkan cara menggunakan SqlClientFactory dalam aplikasi inti .NET.

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

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

Lihat juga