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.
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.