Penyedia Data .NET Framework

Penyedia data .NET Framework digunakan untuk menyambungkan ke database, menjalankan perintah, dan mengambil hasil dalam ADO.NET. Hasil tersebut diproses secara langsung, ditempatkan dalam DataSet untuk diekspos ke pengguna sesuai kebutuhan, dikombinasikan dengan data dari berbagai sumber, atau di-remote antartingkatan. Penyedia data .NET Framework berukuran ringan, menciptakan lapisan minimal antara sumber data dan kode, meningkatkan performa tanpa mengorbankan fungsionalitas.

Tabel berikut ini mencantumkan penyedia data yang disertakan dalam .NET Framework.

Penyedia data .NET Framework Deskripsi
Penyedia Data .NET Framework untuk SQL Server Menyediakan akses data untuk Microsoft SQL Server. Menggunakan namespace System.Data.SqlClient.
Penyedia Data .NET Framework untuk OLE DB Untuk sumber data yang diekspos dengan menggunakan OLE DB. Menggunakan namespace System.Data.OleDb.
Penyedia Data .NET Framework untuk ODBC Untuk sumber data yang diekspos dengan menggunakan ODBC. Menggunakan namespace System.Data.Odbc.
Penyedia Data .NET Framework untuk Oracle Untuk sumber data Oracle. Penyedia Data .NET Framework untuk Oracle mendukung perangkat lunak klien Oracle versi 8.1.7 dan yang lebih baru, dan menggunakan namespace System.Data.OracleClient.
Penyedia EntityClient Menyediakan akses data untuk aplikasi Model Data Entitas (EDM). Menggunakan namespace System.Data.EntityClient.
Penyedia Data .NET Framework untuk SQL Server Compact 4.0. Menyediakan akses data untuk Microsoft SQL Server Compact 4.0. Menggunakan namespace System.Data.SqlServerCe.

Objek Inti Penyedia Data .NET Framework

Tabel berikut menguraikan empat objek inti yang membentuk penyedia data .NET Framework.

Objek Deskripsi
Connection Membuat koneksi ke sumber data tertentu. Kelas dasar untuk semua objek Connection adalah kelas DbConnection.
Command Menjalankan perintah terhadap sumber data. Mengekspos Parameters dan dapat mengeksekusi dalam cakupan Transaction dari Connection. Kelas dasar untuk semua objek Command adalah kelas DbCommand.
DataReader Membaca aliran data teruskan-saja dan baca-saja dari sumber data. Kelas dasar untuk semua objek DataReader adalah kelas DbDataReader.
DataAdapter Mengisi DataSet dan menyelesaikan pembaruan dengan sumber data. Kelas dasar untuk semua objek DataAdapter adalah kelas DbDataAdapter.

Selain kelas inti yang tercantum dalam tabel sebelumnya dalam dokumen ini, penyedia data .NET Framework juga berisi kelas yang tercantum dalam tabel berikut.

Objek Deskripsi
Transaction Mendaftarkan perintah dalam transaksi di sumber data. Kelas dasar untuk semua objek Transaction adalah kelas DbTransaction. ADO.NET juga menyediakan dukungan untuk transaksi menggunakan kelas di namespace System.Transactions.
CommandBuilder Objek pembantu yang otomatis menghasilkan properti perintah DataAdapter atau memperoleh informasi parameter dari prosedur tersimpan dan mengisi koleksi Parameters objek Command. Kelas dasar untuk semua objek CommandBuilder adalah kelas DbCommandBuilder.
ConnectionStringBuilder Objek pembantu yang menyediakan cara sederhana untuk membuat dan mengelola konten string koneksi yang digunakan oleh objek Connection. Kelas dasar untuk semua objek ConnectionStringBuilder adalah kelas DbConnectionStringBuilder.
Parameter Menentukan parameter nilai input, output, dan return untuk perintah dan prosedur tersimpan. Kelas dasar untuk semua objek Parameter adalah kelas DbParameter.
Exception Dikembalikan saat kesalahan dialami di sumber data. Untuk kesalahan yang dialami di klien, penyedia data .NET Framework memberikan pengecualian .NET Framework. Kelas dasar untuk semua objek Exception adalah kelas DbException.
Error Mengekspos informasi dari peringatan atau kesalahan yang dikembalikan oleh sumber data.
ClientPermission Disediakan untuk atribut keamanan akses kode penyedia data.NET Framework. Kelas dasar untuk semua objek ClientPermission adalah kelas DBDataPermission.

Penyedia Data .NET Framework untuk SQL Server (SqlClient)

Penyedia Data .NET Framework untuk SQL Server (SqlClient) menggunakan protokolnya sendiri untuk berkomunikasi dengan SQL Server. Ini ringan dan memiliki performa baik karena dioptimalkan untuk mengakses SQL Server secara langsung tanpa menambahkan lapisan OLE DB atau Open Database Connectivity (ODBC). Ilustrasi berikut membedakan Penyedia Data .NET Framework untuk SQL Server dengan Penyedia Data .NET Framework untuk OLE DB. Penyedia data .NET Framework untuk OLE DB berkomunikasi dengan sumber data OLE DB melalui komponen Layanan OLE DB, yang menyediakan layanan pengumpulan koneksi dan transaksi, dan penyedia OLE DB untuk sumber data.

Catatan

Penyedia data .NET Framework untuk ODBC memiliki arsitektur yang mirip dengan Penyedia Data .NET Framework untuk OLE DB; misalnya, memanggil ke Komponen Layanan ODBC.

Data providers
Perbandingan Penyedia Data .NET Framework untuk SQL Server dan Penyedia Data .NET Framework untuk OLE DB

Penyedia Data .NET Framework untuk kelas SQL Server terletak di namespace System.Data.SqlClient.

Penyedia Data .NET Framework untuk SQL Server mendukung transaksi lokal dan terdistribusi. Untuk transaksi terdistribusi, Penyedia Data .NET Framework untuk SQL Server, secara default, secara otomatis mendaftar dalam transaksi dan mendapatkan detail transaksi dari Windows Component Services atau System.Transactions. Untuk mengetahui informasi selengkapnya, lihat Transaksi dan Konkurensi.

Contoh kode berikut menunjukkan cara menyertakan namespace System.Data.SqlClient di aplikasi Anda.

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

Penyedia Data .NET Framework untuk OLE DB

Penyedia data .NET Framework untuk OLE DB (OleDb) menggunakan OLE DB asli melalui interop COM untuk mengaktifkan akses data. Penyedia Data .NET Framework untuk OLE DB mendukung transaksi lokal dan terdistribusi. Untuk transaksi terdistribusi, Penyedia Data .NET Framework untuk OLE DB, secara default, secara otomatis mendaftar dalam transaksi dan mendapatkan detail transaksi dari Windows Component Services. Untuk mengetahui informasi selengkapnya, lihat Transaksi dan Konkurensi.

Tabel berikut ini menunjukkan penyedia yang telah diuji dengan ADO.NET.

Driver Penyedia
SQLOLEDB Penyedia Microsoft OLE DB untuk SQL Server
MSDAORA Penyedia Microsoft OLE DB untuk Oracle
Microsoft.Jet.OLEDB.4.0 Penyedia OLE DB untuk Microsoft Jet

Catatan

Menggunakan database Access (Jet) sebagai sumber data untuk aplikasi multirangkaian, seperti aplikasi ASP.NET, tidak disarankan. Jika Anda harus menggunakan Jet sebagai sumber data untuk aplikasi ASP.NET, menyadari bahwa aplikasi ASP.NET yang tersambung ke database Access dapat mengalami masalah koneksi.

Penyedia Data .NET Framework untuk OLE DB tidak mendukung antarmuka OLE DB versi 2.5. Penyedia OLE DB yang memerlukan dukungan untuk antarmuka OLE DB 2.5 tidak akan berfungsi dengan benar dengan Penyedia Data .NET Framework untuk OLE DB. Ini termasuk penyedia Microsoft OLE DB untuk Exchange dan penyedia Microsoft OLE DB untuk Penerbitan Internet.

Penyedia Data .NET Framework untuk OLE DB tidak berfungsi dengan penyedia OLE DB untuk ODBC (MSDASQL). Untuk mengakses sumber data ODBC menggunakan ADO.NET, gunakan Penyedia Data .NET Framework untuk ODBC.

Penyedia Data .NET Framework untuk kelas OLE DB terletak di namespace System.Data.OleDb. Contoh kode berikut menunjukkan cara menyertakan namespace System.Data.OleDb di aplikasi Anda.

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

Penyedia Data .NET Framework untuk ODBC

Penyedia Data .NET Framework untuk ODBC (Odbc) menggunakan ODBC Driver Manager (DM) native untuk mengaktifkan akses data. Penyedia data ODBC mendukung transaksi lokal dan terdistribusi. Untuk transaksi terdistribusi, penyedia data ODBC, secara default, secara otomatis mendaftar dalam transaksi dan memperoleh detail transaksi dari Layanan Komponen Windows. Untuk mengetahui informasi selengkapnya, lihat Transaksi dan Konkurensi.

Tabel berikut menunjukkan driver ODBC yang diuji dengan ADO.NET.

Driver
SQL Server
Microsoft ODBC untuk Oracle
Microsoft Access Driver (*.mdb)

Penyedia Data .NET Framework untuk kelas ODBC terletak di namespace System.Data.Odbc.

Contoh kode berikut menunjukkan cara menyertakan namespace System.Data.Odbc di aplikasi Anda.

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

Catatan

Penyedia Data .NET Framework untuk ODBC memerlukan MDAC 2.6 atau versi yang lebih baru, dan MDAC 2.8 SP1 direkomendasikan.

Penyedia Data .NET Framework untuk Oracle

Penyedia Data .NET Framework untuk Oracle (OracleClient) memungkinkan akses data ke sumber data Oracle melalui perangkat lunak konektivitas klien Oracle. Penyedia data mendukung perangkat lunak klien Oracle versi 8.1.7 atau versi yang lebih baru. Penyedia data mendukung transaksi lokal dan terdistribusi. Untuk mengetahui informasi selengkapnya, lihat Transaksi dan Konkurensi.

Penyedia Data .NET Framework untuk Oracle memerlukan perangkat lunak klien Oracle (versi 8.1.7 atau versi yang lebih baru) pada sistem sebelum Anda dapat tersambung ke sumber data Oracle.

Penyedia Data .NET Framework untuk kelas Oracle terletak di namespace System.Data.OracleClient dan terkandung dalam rakitan System.Data.OracleClient.dll. Anda harus mereferensikan System.Data.dll dan System.Data.OracleClient.dll saat mengompilasi aplikasi yang menggunakan penyedia data.

Contoh kode berikut menunjukkan cara menyertakan namespace System.Data.OracleClient di aplikasi Anda.

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

Memilih Penyedia Data .NET Framework

Bergantung pada desain dan sumber data untuk aplikasi Anda, pilihan penyedia data .NET Framework Anda dapat meningkatkan performa, kemampuan, dan integritas aplikasi Anda. Tabel berikut membahas keuntungan dan batasan setiap penyedia data .NET Framework.

Penyedia Catatan
Penyedia Data .NET Framework untuk SQL Server Direkomendasikan untuk aplikasi tingkat menengah yang menggunakan Microsoft SQL Server.

Direkomendasikan untuk aplikasi tingkat tunggal yang menggunakan Microsoft Database Engine (MSDE) atau SQL Server.

Direkomendasikan atas penggunaan penyedia OLE DB untuk SQL Server (SQLOLEDB) dengan Penyedia Data .NET Framework untuk OLE DB.
Penyedia Data .NET Framework untuk OLE DB Untuk SQL Server, Penyedia Data .NET Framework untuk SQL Server direkomendasikan alih-alih penyedia ini.

Direkomendasikan untuk aplikasi tingkat tunggal yang menggunakan database Microsoft Access. Penggunaan database Access untuk aplikasi tingkat menengah tidak disarankan.
Penyedia Data .NET Framework untuk ODBC Direkomendasikan untuk aplikasi tingkat menengah dan tunggal yang menggunakan sumber data ODBC.
Penyedia Data .NET Framework untuk Oracle Direkomendasikan untuk aplikasi tingkat menengah dan tunggal yang menggunakan sumber data Oracle.

Penyedia EntityClient

Penyedia EntityClient digunakan untuk mengakses data berdasarkan Model Data Entitas (EDM). Tidak seperti penyedia data .NET Framework lainnya, penyedia data tidak berinteraksi langsung dengan sumber data. Sebagai gantinya, penyedia data menggunakan Entity SQL untuk berkomunikasi dengan penyedia data yang mendasar. Untuk informasi selengkapnya, lihat Penyedia EntityClient untuk Entity Framework.

Lihat juga