ADO.NET dan Connected Application

ADO.NET


ADO.NET adalah data akses komponen untuk .NET framework. ADO.NET dengan kemampuan tinggi untuk menangani data format XML, didesain dengan arsitektur terputus ( disconected architecture) sangat cocok untuk membangun aplikasi dekstop base maupun web base karena arsitekturnya yang terputus ini tidak membebani server.

ADO.NET terdiri dari class-class yang digunakan untuk koneksi kedatabase, providing akses untuk relasional data, XML dan aplication data serta retrieve data dari hasil query. ADO.NET juga berisi class-class yang mempresentasikan Data Provider Connection, Command, DataAdapter, DataReader Objects dan object lainya. Gambar berikut ini memperlihatkan bagaimana ADO.NET dalam sebuah komunikasi antara web clien dan dan DBMS Disamping itu juga ADO.NET menyertakan data Provider yang khusus dibangun untuk database tertentu. 

Data provider ini mampu memberikan kinerja yang lebih baik karena dapat memanfaatkan optimisasi yang ditawarkan oleh vendor database bersangkutan. Dengan menggunakan custom-code yang spesifik untuk database tertentu juga menghilangkan sejumlah overhead yang terjadi ketika menggukan generic-code seperti ODBC dan OLE-DB. Rilis awal yaitu ADO.NET 1.0, baru memberikan dukungan untuk Database SQL Server dan OLE-DB. Riils berikutnya – ADO.NET 1.1 – Microsoft menambahkan dukungan untuk database Oracle dan ODBC. Pada saat yang hampir bersamaan Oracle juga merilis data provider milik mereka sendiri, yaitu ODP.NET 9.2.

CARA KERJA ADO.NET

ADO.NET melakukan koneksi kedatasource, mengirim query dan statement update dan memproses hasilnya.  Berbeda dengan ADO yang menawarkan konsep recordset dan cursor, ADO.NET memperkenalkan model yang benar-benar baru meliputi lima obyek dasar sebagai berikut:

Connection  =  berfungsi untuk membuat dan memelihara koneksi ke database. Parameter yang digunakan untuk membuat koneksi bisa jadi ada sedikit perbedaan antara satu database dengan database lainnya.

Command = berfungi untuk menyimpan query (perintah SQL) yang nantinya akan kirimkan ke database termasuk dengan semua parameter yang diperlukan.

DataReader = digunakan untuk membaca hasil query yang dikembalikan oleh database. DataReader hanya memberikan akses maju-saja (forward-only) namun sangat cepat untuk membaca seluruh data/record hasil query..

DataSet = obyek inilah yang membuat ADO.NET sangant berbeda dengan metode data akses yang ada sebelumnya. Obyek ini yang berada di memori dan bertindak sebagai tempat penyimpanan data/record yang didapat dari server database. DataSet sendiri tidak bisa berkomunikasi langsung dengan server database dan tidak mengetahui dari mana data yang disimpannya berasal.

DataAdapter = obyek inilah yang bertugas menjembatani DataSet dengan database sebenarnya. DataAdapter bertugas untuk menarik data/record dari database dan menyimpan kembali penambahan, perubahan atau penghapusan data/record pada DataSet kembali ke database.

REVOLUSI TEKNOLOGI PADA ADO.NET


ADO.NET membuat lompatan yang sangat besar. Salah satunya adalah adanya dukungan penuh untuk model akses data terputus (disconnected). Mempertahankan sebuah koneksi yang tidak tidak terputus ke database server adalah proses yang cukup mahal harganya. Terutama dari sisi database server yang mengharuskan pengalokasian sumber daya – terutama CPU dan memory – untuk koneksi tersebut. Ketika hanya ada satu koneksi saja yang perlu dipertahankan, mungkin tidak terlalu menjadi masalah, lain halnya jika koneksi yang perlu dipertahankan tidak sedikit, misalkan pada aplikasi web, tentunya jumlah memory dan CPU yang terpakai akan jauh lebih besar. Namun jika kita menggunakan metode akses data yang terputus, sumber daya yang semula terpakai dapat langsung dibebaskan dan dipakai oleh proses lain.

Fitur lain yang meningkatkan performa akses data adalah diperkenalkannya connection pooling. Mempertahankan sebuah koneksi ke database adalah proses yang mahal, namun membuka dan menutup koneksi database adalah proses yang lebih mahal lagi. Connection pooling mampu mengatasi masalah ini. Ketika koneksi yang kita buat dalam program ditutup, ADO.NET tidak langsung menutup koneksi tersebut, namun menyimpannya dalam sebuah pool sampai jangka waktu tertentu. Pada saat itu ketika ada proses yang membutuhkan koneksi, maka ADO.NET tidak perlu lagi membuat koneksi baru, namun cukup menggunakan koneksi yang sudah tersedia di pool.

KEUNGGULAN ADO.NET

Keunggulan dari ADO.NET adalah dukungan terhadap XML. Secara internal obyek DataSet menyimpan data di memory dalam bentuk XML. Dukungan XML ini memudahkan ADO.NET dalam melakukan proses filtering dan sorting data yang tersimpan di memory. Dukungan XML juga memudahkan proses pengambilan data, penuilsan data kembali ke database dan mengubah ke dalam format lainnya.


CONNECTED APPLICATION

CONNECTION STRING

Berikut beberapa atribut umum connection string yang sering digunakan :

  1. Database atau Initial Catalog : Diisi dengan nama database yang digunakan.
  2. Server atau Data Source : Diisi dengan nama server atau instance database.
  3. Integrated Security : Diisi dengan SSPI. Atribut ini digunakan jika jenis autentikasi yang digunakan untuk melakukan koneksi terhadap databasenya yaitu windows.
  4. Trusted Connection : Diisi dengan True atau False. Atribut ini fungsinya sama dengan Integrated Security. Jadi anda bisa memilih salah satunya.
  5. User ID atau UID : Diisi dengan nama user name yang terdaftar di database. Opsi ini digunakan jika jenis authentikasi yang digunakan untuk melakukan koneksi terhadap databasenya yaitu SQL Server Login (jika database yang digunakan SQL Server).
  6. Password atau PWD : Diisi dengan password dari User ID yang digunakan.
CONNECTION OBJECT


Object ini merupakan object yang penting, karena untuk menggunakan object ADO.NET Data Provider lainnya kita harus mengentahui terlebih dahulu penggunaan dari object Connection. Connection digunakan untuk melakukan koneksi terhadap database. Metoda yang paling sering digunakan yaitu Open dan Close. 

Object ini terdapat pada masing-masing namespace yang spesifik terhadap database provider. Sebelum menggunakan object connection kita harus mengetahui terlebih dahulu connection string. Connection string ini berisi informasi mengenai database yang dituju, nama server database, jenis authentikasi, informasi user name beserta password.

Koneksi OLE DB :

<%@ import Namespace="System.Data.OleDb" %>
protected void Page_Load(object sender, EventArgs e)
{
OleDbConnection dbconn = new OleDbConnection("Connection String");
dbconn.Open();
string sql = "SELECT * FROM table_name";
OleDbCommand dbcomm=new OleDbCommand(sql,dbconn);
OleDbDataReader dbread;
dbread=dbcomm.ExecuteReader();
dbcontrol.DataSource=dbread;
dbcontrol.DataBind();
dbread.Close();
dbconn.Close();
}

Untuk Microsoft Access:

dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" + server.mappath("file_access.mdb"))
Untuk Microsoft SQL Server:
dbconn=New OleDbConnection("Provider=SQLOLEDB;data source=localhost;Integrated Security=SSPI;Initial Catalog=database_name")
atau
dbconn=New OleDbConnection("Provider=SQLOLEDB;data source=localhost; Initial Catalog=database_name;user ID=user;Password=password")
Untuk Oracle:
dbconn=New OleDbConnection("Provider=MSDAORA;data source=host_name; User ID=user;Password=password")

Koneksi SQL Server  :

<%@ import Namespace="System.Data.SqlClient" %>
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection dbconn = new SqlConnection("Data source=localhost;Integrated Security=SSPI;Initial Catalog=database_name");
dbconn.Open();
string sql = "SELECT * FROM table_name";
SqlCommand dbcomm = new SqlCommand(sql, dbconn);
SqlDataReader dbread;
dbread = dbcomm.ExecuteReader();
dbcontrol.DataSource = dbread;
dbcontrol.DataBind();
dbread.Close();
dbconn.Close();
}
atau
sqlconn=New SqlConnection ("server=localhost; Trusted_Connection=yes; database=database_name;uid=user ")
Share on Google Plus

About Wahyu Hardianto

    Blogger Comment
    Facebook Comment

0 komentar:

Posting Komentar