| Arsip mwmag | [Files] [Up] | © 2002 PT Masterweb Media |
Figures
Files
ASP dan MySQL biasanya bukanlah jodoh. ASP biasanya dipakai di Windows bersama SQL Server, MS Access, atau bahkan Oracle. Sementara MySQL di Unix bersama Perl atau PHP. Tapi bukan berarti keduanya tidak pernah bisa bertemu. Sudah cukup lama implementasi ASPtermasuk bahasa VBScript dan ADO-nyabisa dijumpai di Unix/Linux. Sementara MySQL pun bersifat cross platform dan dapat diinstal di server Windows.
[Program: Untuk mencoba MySQL, Anda membutuhkan daemon dan klien MySQL, yang tersedia di CD, baik untuk Windows maupun Linux. Untuk mencoba MyODBC, Anda membutuhkan programnya, yang juga disertakan di CD.]
Bagi developer web, adalah mengasyikkan mengetahui bagaimana menggunakan ASP bersama MySQL. Contohnya saya sendiri. Ketika bos Anda meminta untuk memasukkan data pada dua database yang berbeda habitatnya, MS Access dan MySQL misalnya, apa yang Anda perlukan?
Bagi Anda programer ASP yang pernah mengerjakan proyek ASP menggunakan ADO pastilah pernah berhadapan dengan Open Database Connectivity (ODBC). Nah, MyODBC adalah ODBC yang kompatibel untuk melakukan koneksi ke database MySQL. MyODBC bisa digunakan bersama Access, VBA, Excel, Word, Delphi, ASP, Cold Fusion dan masih banyak lagi. Tapi pada tulisan ini saya hanya akan membahas MyODBC yang digunakan bersama ASP.
Pada tulisan ini saya berasumsi bahwa pembaca menggunakan Windows 2000, dengan daemon MySQL pada mesin yang berbeda, menggunakan OS Linux. Katakanlah Windows 2000 Anda mempunyai IP Address 10.0.0.1 sedangkan Linux Anda 192.168.0.1
Anda dapat mendownload MyODBC terbaru di www.mysql.com (atau dari CD). Pada saat tulisan ini dibuat sudah ada MyODBC versi 2.50-39. Jika dari situs MySQL, pertama carilah link MyODBC for Windows dan klik link untuk versi Windows NT/2000/XP. Anda akan dibawa ke situs mirror untuk mendownloadnya. Ukuran file yang akan Anda download sekitar 1,5 MB dalam format .zip.
Ekstraklah file instalasi .zip dengan WinZip atau program lain. Dobel klik program setupnya, maka Anda akan dihadapkan pada welcome page. Klik Continue lalu pilih MySQL dan klik OK. Ikuti instruksi instalasi sampai selesai.
Dari Start Menu, pilih Settings > Control Panel > Administrative Tools > Data Sources (ODBC). Klik tombol Add... maka akan muncul kotak dialog Create New Data Source.
Pilih MySQL version 2.50 Driver, klik Finish. Lihat Gambar 1 yang menayangkan contoh setting driver MySQL ODBC 3.51.

Fig 1. Setting driver MySQL ODBC 3.51
Masukkan nama DSN/Data Source Name dengan mysql_dsn. Isikan Host/Server Name (or IP) dengan nama server atau IP komputer Linux Anda, dalam contoh ini, isikan 192.168.0.1. Masukkan Database Name dengan nama database yang Anda buat (kita akan membuatnya nanti), contohnya db_odbc. Masukkan username dan password yang telah/akan Anda GRANT untuk bisa mengakses database db_odbc ini. Misalnya andri dan passwordnya myodbc. Biarkan Port dan SQL command on connect seperti default, yakni 3306 dan kosong. Pastikan pilihan Return matching rows tercentang aktif. Dan terakhir klik OK.
Jika Anda benar, maka akan Anda menemukan entri di registry MySQL DSN pada HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\mysql. Untuk melihat entri registry, coba jalankan program regedit.exe dengan memilih Start Menu > Run > ketik regedit dan tekan Enter.
Keterangan lebih lanjut seputar setup DSN bisa Anda temukan di www.mysql.com/products/myodbc/faq.html.
Login ke server MySQL misalnya dengan klien command line:
$ mysql -u root -p
Buat database db_odbc:
mysql> create database db_odbc;
Lalu buatlah tabel, misalnya tabel data seperti contoh berikut:
CREATE TABLE data (
id int(3) unsigned NOT NULL auto_increment,
data1 varchar(30) NOT NULL default '',
data2 varchar(30) NOT NULL default '',
PRIMARY KEY (id),
KEY id (id)
) TYPE=MyISAM;
Jangan lupa, bahwa Anda perlu memberikan hak kepada user. Tambahkan user andri pada database mysql tabel user:
mysql> use mysql;
mysql> INSERT INTO user VALUES ('10.0.0.1', 'andri', 'xxxxx', 'Y',
-> 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N');
Maka user andri hanya mendapat hak untuk SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, dan RELOAD. Selain dengan perintah di atas, kita juga dapat menambahkan user melalui perintah SQL GRANT, yang mungkin lebih mudah dibaca:
mysql> grant insert, update, delete, create, drop, reload
-> on db_odbc.* to andri@10.0.0.1 identified by 'passwordnya';
Perhatikan bahwa 10.0.0.1, maksudnya bahwa database db_odbc yang telah Anda buat hanya bisa diakses dari komputer bernomer IP 10.0.0.1, dan jika Anda hendak menggantinya agar bisa diakses dengan semua nomer IP berawalan 10.0.0 Anda bisa menggantinya dengan 10.0.0.%. Password xxxxx adalah password yang telah Anda sesuaikan tergantung keinginan, pada contoh ini myodbc.
Setelah itu, jangan lupa untuk mereload privilege:
mysql> flush privileges;
Selesai! Kini Anda dapat menggunakan database MySQL Anda dari ASP.
Contoh pertama melakukan koneksi DNS-less.
<%
on error resume next
dim adoConn
dim adoRS
dim counter
set adoConn = Server.CreateObject("ADODB.Connection")
set adoRS = Server.CreateObject("ADODB.Recordset")
adoConn.Open "Driver={mySQL}; Server=192.168.0.1; Port=3306; " & _
"Option=0; Socket=; Stmt=; Database=address; " & _
"Uid=odbc; Pwd=odbc32;"
adoRS.ActiveConnection = adoConn
if adoConn.errors.count = 0 then
response.write "<h2>Fields In The 'data' Table:</h2>"
adoRS.Open "describe data"
while not adoRS.EOF
response.write adoRS.fields(0).value & "<br>"
adoRS.MoveNext
wend
else
response.write "ERROR: Couldn't connect to database"
end if
%>
Contoh kedua melakukan koneksi dengan DSN:
<%
on error resume next
dim adoConn
dim adoRS
dim counter
set adoConn = Server.CreateObject("ADODB.Connection")
set adoRS = Server.CreateObject("ADODB.Recordset")
adoConn.Open "DSN=mysql_dsn"
adoRS.ActiveConnection = adoConn
if adoConn.errors.count = 0 then
response.write "<h2>Fields In The 'Data' Table:</h2>"
adoRS.Open "describe data"
while not adoRS.EOF
response.write adoRS.fields(0).value & "<br>"
adoRS.MoveNext
wend
else
response.write "ERROR: Couldn't connect to database"
end if
%>
Contoh ketiga melakukan selek dari tabel dan menampilkannya sebagai tabel HTML.
<%
dim adoConn ' ADO connection
dim rstSimple ' ADO recordset
set adoConn = Server.CreateObject("ADODB.Connection")
adoConn.Open "Driver={mySQL}; Server=192.168.0.61; Port=3306; " & _
"Option=0; Socket=; Stmt=; Database=cc_bank; " & _
"Uid=andri; Pwd=t0l4kb4l4;"
Set rstSimple = adoConn.Execute("SELECT * FROM data")
%>
<table border="1">
<%
Do While Not rstSimple.EOF
%>
<tr>
<td><%= rstSimple.Fields("id").Value %></td>
<td><%= rstSimple.Fields("data1").Value %></td>
<td><%= rstSimple.Fields("data2").Value %></td>
</tr>
<%
rstSimple.MoveNext
Loop
%>
</table>
<%
rstSimple.Close
Set rstSimple = Nothing
adoConn.Close
Set adoConn = Nothing
%>
Akhir kata, selamat mencoba!
Andri Darmawan programer di Jakarta yang sehari-hari bekerja di lingkungan Linux maupun Windows. Mengaku hobi olahraga, tapi menunggu orang yang mengajaknya olahraga bersama. Dapat dihubungi di nidza99@yahoo.com.
mw
[Last-Modified: Fri Nov 29 14:47:08 2002]
| Arsip mwmag | [Files] [Up] | www.master.web.id/mwmag |