Menggunakan prosedur tersimpan untuk mengimplementasikan akses database ASP
Penulis:Eve Cole
Waktu Pembaruan:2009-06-24 17:21:43
1. Ikhtisar ADO
ActiveX Data Objects (ADO) adalah teknologi yang mudah digunakan dan terukur untuk menambahkan akses database ke halaman Web Anda. Anda dapat menggunakan ADO untuk menulis skrip yang ringkas dan terukur untuk menyambung ke sumber data yang kompatibel dengan OLE DB , file data berurutan, atau direktori email. OLE DB adalah antarmuka pemrograman tingkat sistem yang menyediakan seperangkat antarmuka COM standar untuk menampilkan fungsi sistem manajemen basis data. Dengan menggunakan model objek ADO, Anda dapat dengan mudah mengakses antarmuka ini (menggunakan bahasa skrip seperti VBScript atau JScript) dan menambahkan fungsionalitas database ke aplikasi Web Anda. Selain itu, Anda dapat menggunakan ADO untuk mengakses database yang sesuai dengan Open Database Connectivity (ODBC).
Jika Anda seorang penulis skrip dengan pengetahuan tentang interkoneksi basis data, Anda akan menemukan sintaks perintah ADO sederhana dan mudah digunakan. Jika Anda seorang pengembang berpengalaman, Anda akan menghargai akses terukur dan berkinerja tinggi yang disediakan ADO ke berbagai sumber data.
2. Metode umum mengakses database. Mengakses database secara umum akses halaman web dilakukan sesuai dengan langkah-langkah berikut. Pertama, buat objek antarmuka ADODB.Connection, lalu ikat sumber data yang sesuai ke objek ini (Anda dapat menggunakan sumber data bernama dan sumber data tanpa nama), membuat atau tidak membuat kumpulan rekaman sesuai kebutuhan, lalu menautkan ke sumber data dan menggunakan metode eksekusi atau buka untuk mengoperasikan tabel terkait.
Metode umum ASP mengakses database:
<
Setel oConn=Server.CreateObject("ADODB.Connection")
Setel oRS=Server.CreateObject("ADODB.RecordSet")
set strConn="Provider=SQLOLEDB;ID Pengguna=sa; Katalog Awal=Pubs;Sumber Data=" &request.ServerVariables("SERVER_NAME")
oConn.buka strConn
set ORS=oConn.execute("pilih * dari pengujian")
>
Di atas memperkenalkan cara menggunakan OLEDB untuk tautan tanpa nama. Jika itu adalah tautan bernama, tetapkan sebagai pengujian sumber data, dan nama pengguna serta kata sandi keduanya kosong. Anda hanya perlu menulis ulang pernyataan di atas oConn.open "test". ,"",""
Di atas secara singkat memperkenalkan metode umum akses database di halaman web. Ini sudah sangat matang dan sangat berguna. Jika akses ke data tertentu terlalu rumit dalam praktiknya, diperlukan hampir 10 pernyataan SQL untuk ditulis agak kurang. Selain itu, terkadang perlu menggunakan proses pemrosesan yang sama di halaman web yang berbeda, dan ini yang paling menguntungkan menggunakan prosedur tersimpan. Fitur terbesar lainnya adalah prosedur tersimpan sangat teknis dan itu disimpan dalam database server jarak jauh.
3. Penggunaan prosedur tersimpan di ASP ADO menyediakan akses ke prosedur tersimpan, yang memerlukan penggunaan objek perintah. Pada objek ini, pengguna dapat langsung menjalankan prosedur tersimpan di server SQL, dan parameter yang diperlukan dalam perintah dapat Itu diproses menggunakan propertinya Pamaters.
Perhatikan bahwa agar objek Command valid, objek tersebut harus dikaitkan dengan objek Connection dengan mengatur properti ActiveConnection dari objek Command ke objek Connection. Jika objek Connection tidak dapat diidentifikasi, objek Command tidak valid sampai Anda mengaitkannya dengan koneksi.
< Redupkan oConn
Redupkan strConn
Redupkan oCmd
Redupkan atau1
redup aa
dimsql
Setel oConn = Server.CreateObject("ADODB.Connection")
setel oCmd = Server.CreateObject("ADODB.Command")
set ors1=Server.CreateObject("ADODB.RecordSet")
'Buka linknya, gunakan user ID SA, password kosong, koneksikan ke database di server lokal
strConn="Provider=SQLOLEDB;ID Pengguna=sa;Katalog Awal=pubs;Sumber Data="& Request.ServerVariables("SERVER_NAME")
'Jika Anda terhubung ke database jarak jauh, alamat databasenya adalah: 10.82.88.105, penggunanya adalah tmp, dan kata sandinya adalah 123.
'Metode berikut dapat digunakan' strConn="Provider=SQLOLEDB;User ID=tmp;pwd=123;Initial Catalog=tjbb;Data Source="& "10.82.88.110"
oConn.Buka strConn
'Tambahkan tautan yang sudah ada ke atribut tautan aktif dari perintah
Setel oCmd.ActiveConnection = oConn
'Atur prosedur tersimpan panggilan berdasarkan royalti dan parameter, parameternya berdasarkan? memperkenalkan
oCmd.CommandText = "{panggilan byroyalty(?)}"
oCmd.Parameters.Tambahkan oCmd.CreateParameter("@Percentage", adInteger, adParamInput)
' Berikan parameter masukan
oCmd("@Persentase") = 75
'Penggunaan parameter masukan di atas dalam asp juga dapat dicapai tanpa atribut parameter, cukup gunakan & di VB untuk membentuk data yang sesuai dalam teks perintah' Penggunaan parameter sangat berguna selama keluaran
Setel oRs = oCmd.Jalankan
ors1.activeconnection=oconn
'Pernyataan SQL umum juga dapat digunakan dalam objek perintah ini menggunakan atribut Sumber dan terbuka, di mana sumber menunjukkan sumber data.
ors1.source ="pilih * dari [tmptable] dengan tahun=2000 dan bulan=1"
ors1.cursorttype=adopenstatis
ors1.buka
>
4. Pengenalan prosedur tersimpan dalam SQL Dengan menggunakan bahasa SQL, Anda dapat menulis prosedur tersimpan untuk akses database. Sintaksnya adalah sebagai berikut:
BUAT PROC[EDURE] procedure_name [;number]
[
{@parameter data_type} [BERVARIASI] [= default] [OUTPUT]
]
[,...N]
[DENGAN
{
KOMPILASI ULANG
|.ENKRIPSI
|. KOMPILASI ULANG, ENKRIPSI
}
]
[UNTUK REPLIKASI]
SEBAGAI
sql_pernyataan [...n]
Konten dalam [ ] bersifat opsional, sedangkan konten dalam () wajib diisi.
Contoh: Jika pengguna ingin membuat prosedur tersimpan Select_delete untuk menghapus record pada tabel tmp, dapat ditulis sebagai:
Buat Proc select_del As
Hapus tmp
Contoh: Pengguna ingin menanyakan prosedur tersimpan untuk data tahun tertentu di tabel tmp
buat proc select_query @year int sebagai
pilih * dari tmp dimana tahun=@tahun
Di sini @year adalah contoh parameter dari prosedur tersimpan: prosedur tersimpan ini dimulai dari node tertentu n untuk menemukan node induk tingkat atas. Proses yang sering digunakan ini dapat dilakukan oleh prosedur tersimpan dan dapat digunakan kembali di halaman web untuk mencapainya membagikan. .
Kosong: menunjukkan bahwa node tersebut adalah node tingkat atas
fjdid (nomor simpul induk)
Node n tidak kosong: menunjukkan nomor node induk dari node tersebut
dwmc (nama unit)
BUAT proses pencarian_dwmc @dwidold int,@dwmcresult varchar(100) keluaran
sebagai
nyatakan @stop int
nyatakan @hasil varchar(80)
nyatakan @dwmc varchar(80)
nyatakan @dwid int
tetapkan tidak ada hitungan
atur @berhenti=1
atur @dwmc=""
pilih @dwmc=dwmc,@dwid=convert(int,fjdid) dari jtdw di mana id=@dwidold
set @hasil=rtrim(@dwmc)
jika @dwid=0
setel @berhenti=0
sementara (@stop=1) dan (@dwid<>0)
mulai
atur @dwidold=@dwid
pilih @dwmc=dwmc,@dwid=convert(int,fjdid) dari jtdw di mana id=@dwidold
jika @@jumlah baris=0
atur @dwmc=""
kalau tidak
atur @hasil=@dwmc+@hasil
jika (@dwid=0) atau (@@jumlah baris=0)
setel @berhenti=0
kalau tidak
melanjutkan
akhir
set @dwmcresult=rtrim(@hasil)
Penggunaan prosedur tersimpan secara penuh dan wajar dapat meningkatkan throughput server. Penulis menggunakan prosedur tersimpan untuk memperoleh data dari hampir 20 tabel dan menggabungkannya ke dalam tabel umum, menghasilkan hampir 20.000 catatan, dan waktu yang dibutuhkan sekitar 7 detik operasi dapat meningkatkan pengembangan server ke tingkat yang lebih tinggi dengan bantuan halaman web dinamis yang lebih masuk akal, memanfaatkan sepenuhnya prosedur tersimpan, yang dapat mengurangi pemrosesan berat yang disebabkan oleh desain web, sehingga kode tertulis dapat dibagikan dan dimanfaatkan secara wajar, dan kodenya dapat disembunyikan di dalam database server, beberapa teknologi dirahasiakan. Ini juga merupakan fitur utama dari prosedur tersimpan. Saya harap pembaca dapat mengambil manfaat darinya.