.NET Framework Veri Sağlayıcıları

Veritabanına bağlanmak, komutları yürütmek ve sonuçları almak için .NET Framework veri sağlayıcısı kullanılır. Bu sonuçlar doğrudan işlenir, gerektiğinde kullanıcıya sunulmak üzere bir DataSet içine yerleştirilir, birden çok kaynaktan alınan verilerle birleştirilir veya katmanlar arasında uzaktır. .NET Framework veri sağlayıcıları basittir ve veri kaynağı ile kod arasında minimum katman oluşturur ve işlevsellikten ödün vermeden performansı artırır.

Aşağıdaki tabloda .NET Framework'e dahil edilen veri sağlayıcıları listelenmektedir.

.NET Framework veri sağlayıcısı Açıklama
SQL Server için .NET Framework Veri Sağlayıcısı Microsoft SQL Server için veri erişimi sağlar. Ad alanını System.Data.SqlClient kullanır.
OLE DB için .NET Framework Veri Sağlayıcısı OLE DB kullanılarak kullanıma sunulan veri kaynakları için. Ad alanını System.Data.OleDb kullanır.
ODBC için .NET Framework Veri Sağlayıcısı ODBC kullanılarak kullanıma sunulan veri kaynakları için. Ad alanını System.Data.Odbc kullanır.
Oracle için .NET Framework Veri Sağlayıcısı Oracle veri kaynakları için. Oracle için .NET Framework Veri Sağlayıcısı, Oracle istemci yazılımı sürüm 8.1.7 ve üzerini destekler ve ad alanını System.Data.OracleClient kullanır.
EntityClient Sağlayıcısı Varlık Veri Modeli (EDM) uygulamaları için veri erişimi sağlar. Ad alanını System.Data.EntityClient kullanır.
SQL Server Compact 4.0 için .NET Framework Veri Sağlayıcısı. Microsoft SQL Server Compact 4.0 için veri erişimi sağlar. System.Data.SqlServerCe ad alanını kullanır.

.NET Framework Veri Sağlayıcısı'lerinin Temel Nesneleri

Aşağıdaki tabloda bir .NET Framework veri sağlayıcısını oluşturan dört temel nesne özetlenmektedir.

Object Açıklama
Connection Belirli bir veri kaynağına bağlantı kurar. Tüm Connection nesnelerin temel sınıfı sınıfıdır DbConnection .
Command Bir veri kaynağına karşı bir komut yürütür. Parameters bir uygulamasından bir kapsamında TransactionConnectionyürütebilir ve kullanıma sunar. Tüm Command nesnelerin temel sınıfı sınıfıdır DbCommand .
DataReader Bir veri kaynağından ileriye dönük, salt okunur bir veri akışı okur. Tüm DataReader nesnelerin temel sınıfı sınıfıdır DbDataReader .
DataAdapter bir'i DataSet doldurur ve güncelleştirmeleri veri kaynağıyla çözer. Tüm DataAdapter nesnelerin temel sınıfı sınıfıdır DbDataAdapter .

Bu belgenin önceki bölümlerinde yer alan tabloda listelenen temel sınıflara ek olarak, .NET Framework veri sağlayıcısı aşağıdaki tabloda listelenen sınıfları da içerir.

Object Açıklama
Transaction Komutları veri kaynağındaki işlemlere listeler. Tüm Transaction nesnelerin temel sınıfı sınıfıdır DbTransaction . ADO.NET ayrıca ad alanında System.Transactions sınıfları kullanan işlemler için destek sağlar.
CommandBuilder Bir veya öğesinin komut özelliklerini DataAdapter otomatik olarak oluşturan veya saklı yordamdan parametre bilgilerini türeten ve nesne koleksiyonunu dolduran Parameters yardımcı Command nesne. Tüm CommandBuilder nesnelerin temel sınıfı sınıfıdır DbCommandBuilder .
ConnectionStringBuilder Nesneler tarafından Connection kullanılan bağlantı dizesi içeriğini oluşturmak ve yönetmek için basit bir yol sağlayan yardımcı nesne. Tüm ConnectionStringBuilder nesnelerin temel sınıfı sınıfıdır DbConnectionStringBuilder .
Parameter Komutlar ve saklı yordamlar için giriş, çıkış ve dönüş değeri parametrelerini tanımlar. Tüm Parameter nesnelerin temel sınıfı sınıfıdır DbParameter .
Exception Veri kaynağında bir hatayla karşılaşıldığında döndürülür. İstemcide karşılaşılan bir hata için .NET Framework veri sağlayıcıları bir .NET Framework özel durumu oluşturur. Tüm Exception nesnelerin temel sınıfı sınıfıdır DbException .
Error Bir veri kaynağı tarafından döndürülen bir uyarı veya hatadan gelen bilgileri kullanıma sunar.
ClientPermission .NET Framework veri sağlayıcısı kod erişimi güvenlik öznitelikleri için sağlanır. Tüm ClientPermission nesnelerin temel sınıfı sınıfıdır DBDataPermission .

SQL Server için .NET Framework Veri Sağlayıcısı (SqlClient)

SQL Server için .NET Framework Veri Sağlayıcısı (SqlClient), SQL Server ile iletişim kurmak için kendi protokolünü kullanır. Ole DB veya Açık Veritabanı Bağlan ivity (ODBC) katmanı eklemeden doğrudan BIR SQL Server'a erişmek için iyileştirildiğinden hafiftir ve iyi performans gösterir. Aşağıdaki çizim, SQL Server için .NET Framework Veri Sağlayıcısı OLE DB için .NET Framework Veri Sağlayıcısı ile karşıttır. OLE DB için .NET Framework Veri Sağlayıcısı, hem bağlantı havuzu ve işlem hizmetleri sağlayan OLE DB Hizmeti bileşeni hem de veri kaynağı için OLE DB sağlayıcısı aracılığıyla bir OLE DB veri kaynağıyla iletişim kurar.

Not

ODBC için .NET Framework Veri Sağlayıcısı, OLE DB için .NET Framework Veri Sağlayıcısı benzer bir mimariye sahiptir; örneğin, bir ODBC Hizmet Bileşenine çağrır.

Data providers
SQL Server için .NET Framework Veri Sağlayıcısı ile OLE DB için .NET Framework Veri Sağlayıcısı karşılaştırması

SQL Server sınıfları için .NET Framework Veri Sağlayıcısı ad alanında System.Data.SqlClient bulunur.

SQL Server için .NET Framework Veri Sağlayıcısı hem yerel hem de dağıtılmış işlemleri destekler. Dağıtılmış işlemler için SQL Server için .NET Framework Veri Sağlayıcısı, varsayılan olarak bir işleme otomatik olarak eklenir ve işlem ayrıntılarını Windows Bileşen Hizmetleri'nden veya System.Transactions'dan alır. Daha fazla bilgi için bkz . İşlemler ve Eşzamanlılık.

Aşağıdaki kod örneği, uygulamalarınıza ad alanının nasıl dahil olduğunu System.Data.SqlClient gösterir.

Imports System.Data.SqlClient  
using System.Data.SqlClient;  

OLE DB için .NET Framework Veri Sağlayıcısı

OLE DB (OleDb) için .NET Framework Veri Sağlayıcısı, veri erişimini etkinleştirmek için COM birlikte çalışma aracılığıyla yerel OLE DB kullanır. OLE DB için .NET Framework Veri Sağlayıcısı hem yerel hem de dağıtılmış işlemleri destekler. Dağıtılmış işlemler için OLE DB için .NET Framework Veri Sağlayıcısı varsayılan olarak bir işleme otomatik olarak eklenir ve işlem ayrıntılarını Windows Bileşen Hizmetleri'nden alır. Daha fazla bilgi için bkz . İşlemler ve Eşzamanlılık.

Aşağıdaki tabloda, ADO.NET ile test edilmiş sağlayıcılar gösterilmektedir.

Sürücü Provider
SQLOLEDB SQL Server için Microsoft OLE DB sağlayıcısı
MSDAORA Oracle için Microsoft OLE DB sağlayıcısı
Microsoft.Jet.OLEDB.4.0 Microsoft Jet için OLE DB sağlayıcısı

Not

ASP.NET uygulamaları gibi çok iş parçacıklı uygulamalar için veri kaynağı olarak Access (Jet) veritabanı kullanılması önerilmez. Jet'i bir ASP.NET uygulaması için veri kaynağı olarak kullanmanız gerekiyorsa, Access veritabanına bağlanan ASP.NET uygulamaların bağlantı sorunlarıyla karşılaşabileceğini fark edin.

OLE DB için .NET Framework Veri Sağlayıcısı, OLE DB sürüm 2.5 arabirimlerini desteklemez. OLE DB 2.5 arabirimleri için destek gerektiren OLE DB Sağlayıcıları, OLE DB için .NET Framework Veri Sağlayıcısı ile düzgün çalışmaz. Buna Exchange için Microsoft OLE DB sağlayıcısı ve İnternet Yayımlama için Microsoft OLE DB sağlayıcısı dahildir.

OLE DB için .NET Framework Veri Sağlayıcısı ODBC (MSDASQL) için OLE DB sağlayıcısıyla çalışmaz. ADO.NET kullanarak bir ODBC veri kaynağına erişmek için ODBC için .NET Framework Veri Sağlayıcısı kullanın.

OLE DB sınıfları için .NET Framework Veri Sağlayıcısı ad alanında System.Data.OleDb bulunur. Aşağıdaki kod örneği, uygulamalarınıza ad alanının nasıl dahil olduğunu System.Data.OleDb gösterir.

Imports System.Data.OleDb  
using System.Data.OleDb;  

ODBC için .NET Framework Veri Sağlayıcısı

ODBC (Odbc) için .NET Framework Veri Sağlayıcısı, veri erişimini etkinleştirmek için yerel ODBC Sürücü Yöneticisi'ni (DM) kullanır. ODBC veri sağlayıcısı hem yerel hem de dağıtılmış işlemleri destekler. Dağıtılmış işlemler için ODBC veri sağlayıcısı varsayılan olarak bir işleme otomatik olarak eklenir ve işlem ayrıntılarını Windows Bileşen Hizmetleri'nden alır. Daha fazla bilgi için bkz . İşlemler ve Eşzamanlılık.

Aşağıdaki tabloda, ADO.NET ile test edilen ODBC sürücüleri gösterilmektedir.

Sürücü
SQL Server
Oracle için Microsoft ODBC
Microsoft Access Sürücüsü (*.mdb)

ODBC sınıfları için .NET Framework Veri Sağlayıcısı ad alanında System.Data.Odbc bulunur.

Aşağıdaki kod örneği, uygulamalarınıza ad alanının nasıl dahil olduğunu System.Data.Odbc gösterir.

Imports System.Data.Odbc  
using System.Data.Odbc;  

Not

ODBC için .NET Framework Veri Sağlayıcısı MDAC 2.6 veya sonraki bir sürümü gerektirir ve MDAC 2.8 SP1 önerilir.

Oracle için .NET Framework Veri Sağlayıcısı

Oracle için .NET Framework Veri Sağlayıcısı (OracleClient), Oracle istemci bağlantı yazılımı aracılığıyla Oracle veri kaynaklarına veri erişimi sağlar. Veri sağlayıcısı Oracle istemci yazılımı sürüm 8.1.7 veya sonraki bir sürümü destekler. Veri sağlayıcısı hem yerel hem de dağıtılmış işlemleri destekler. Daha fazla bilgi için bkz . İşlemler ve Eşzamanlılık.

Oracle için .NET Framework Veri Sağlayıcısı, bir Oracle veri kaynağına bağlanabilmeniz için önce sistemde Oracle istemci yazılımı (sürüm 8.1.7 veya sonraki bir sürüm) gerekir.

Oracle sınıfları için .NET Framework Veri Sağlayıcısı ad alanında System.Data.OracleClient bulunur ve derlemede System.Data.OracleClient.dll bulunur. Veri sağlayıcısını kullanan bir uygulamayı derlerken hem hem System.Data.OracleClient.dll de System.Data.dll öğesine başvurmanız gerekir.

Aşağıdaki kod örneği, uygulamalarınıza ad alanının nasıl dahil olduğunu System.Data.OracleClient gösterir.

Imports System.Data  
Imports System.Data.OracleClient  
using System.Data;  
using System.Data.OracleClient;  

.NET Framework Veri Sağlayıcısı seçme

Uygulamanızın tasarımına ve veri kaynağına bağlı olarak, .NET Framework veri sağlayıcısı seçiminiz uygulamanızın performansını, özelliğini ve bütünlüğünü artırabilir. Aşağıdaki tabloda, her .NET Framework veri sağlayıcısının avantajları ve sınırlamaları açıklanmaktadır.

Provider Notlar
SQL Server için .NET Framework Veri Sağlayıcısı Microsoft SQL Server kullanan orta katman uygulamaları için önerilir.

Microsoft Veritabanı Altyapısı (MSDE) veya SQL Server kullanan tek katmanlı uygulamalar için önerilir.

OLE DB için .NET Framework Veri Sağlayıcısı ile SQL Server için OLE DB sağlayıcısının (SQLOLEDB) kullanılması önerilir.
OLE DB için .NET Framework Veri Sağlayıcısı SQL Server için, bu sağlayıcı yerine SQL Server için .NET Framework Veri Sağlayıcısı önerilir.

Microsoft Access veritabanlarını kullanan tek katmanlı uygulamalar için önerilir. Orta katman uygulaması için Access veritabanı kullanılması önerilmez.
ODBC için .NET Framework Veri Sağlayıcısı ODBC veri kaynaklarını kullanan orta ve tek katmanlı uygulamalar için önerilir.
Oracle için .NET Framework Veri Sağlayıcısı Oracle veri kaynaklarını kullanan orta ve tek katmanlı uygulamalar için önerilir.

EntityClient Sağlayıcısı

EntityClient sağlayıcısı, Bir Varlık Veri Modeli (EDM) temelinde verilere erişmek için kullanılır. Diğer .NET Framework veri sağlayıcılarının aksine, veri kaynağıyla doğrudan etkileşim kurmaz. Bunun yerine, temel alınan veri sağlayıcısıyla iletişim kurmak için Entity SQL kullanır. Daha fazla bilgi için bkz . Entity Framework için EntityClient Sağlayıcısı.

Ayrıca bkz.