huwaaa huwaaa huwaaa (nangis sambil mancal-mancal di warnet karena bingun...)
oke deh mas wiliam.. sakalian aja nanyak sama sampean..
kalo saya bertanya mengenai tulisan mas wiliam sesuai dengan kemampuan 
saya, nanti banyak misunderstanding.. soalnya saya masih newbist sama sql 
server + delphi. Saya cuma bertanya, apakah aplikasi yang saya buat ini 
aman (dalam arti tdk ada kesalahan serius dimasa mendatang, karena bug2 
yang sampean jelaskan di imel anda) atau tidak. 

Saya membuat semacam database untuk perusahaan manufaktur kecil-kecilan 
(tapi pake sql server, soalnya sekalian belajar), dengan 2 (computer) 
client yang mengakses data secara remote, dan satu client (komputer) yang 
juga berfungsi sebagai server. Server yang saya gunakan adalah MS SQL 
Server 2000 (personal edition sih.. tapi nanti tak ganti yang 
enterprise). Bahasa yang saya gunakan delphi. Komponen2 yang saya gunakan 
untuk akses data, adalah TADOStoredProcedure (untuk action dan selection) 
dan TADOTable (biasaya saya gunakan cuma untuk lookup saja)

semua setting dari komponen tersebut adalah default (misal untuk 
CursorLocation = adUseClient & LockType = ltOptimistic & CursorType = 
ctStatic.

saya sangat mengandalkan SP untuk akses data, baik selection atau 
action (update,insert dll). 

asumsi saya mengenai SP:
- dengan setting default tsb, jika SP saya melakukan aksi selection, maka 
hasil selection akan di load di computer client (disimpan di dalam dataset 
milik sp yang memanggil, bukankah TADOStoredProcedure adalah keturunan 
dataset? jadi saya tidak menggunakan komponen dataset secara khusus, 
ADODataset (seperti yang anda kemukakan), untuk menampung hasil query SP. 
- akses langsung ke data oleh aplikasi client, tidak ada yang saya ijinkan 
secara langsung ke tabel, kecuali untuk akses yang hanya nanti digunakan 
untuk lookup, dengan demikian model integrasi antar tabel bisa saya jaga.
- eksekusi SP oleh client secara bersama-sama telah ditangani secara baik 
oleh ms-sql server, sehingga saya ndak perlu nyetting masalah-masalah 
locking secara mendalam(cukup dengan default,kalau terjadi pengisian NoId 
yang kembar, yang mengakibatkan kegagalan update atau insert, solusi yang 
saya berikan cuma mengeksekusi kembali SP tsb, karena didalam sp sudah 
saya beri perintah agar secara otomatis menambahkan NoId=NoIdterakhir + 1)
- dalam aplikasi saya untuk client, saya ndak mau repot-repot mengatur hak 
akses(tingkat keamanan tidak saya perhatikan, soalnya insyaAllah aman, 
wong bukan untuk perusahaan besar) karena saya kira, tanpa mengatur 
itupun, kalo hak aksesnya semua 'sa', sql server dapat berjalan normal 
untuk lingkungan yang multi user..


demikian pertanyaan saya, jika ada asumsi yang salah mohon diluruskan, 
jika aplikasi yang saya buat (dengan berdasar asumsi tersebut) dapat 
membawa kekacauan data yang serius di kemudian hari, mohon sekali untuk 
menunjukkan dan memberikan solusinya.. begitu saja mas.. matur nuwun.

--
mbah ali al-majburi
www.ojodiclick.com/foldergakono/raonowebpe.htm



On Fri, 10 Oct 2003, William IT wrote:

> Oleh William, praktisi Database Server.
> 
> Pembukaan:
> ------------
> Tulisan ini berdasarkan MS SQL. Silahkan uji pada database server yg lain
> 
> Store Procedure
> -----------------
> SP adalah sekumpulan procedure yg diletakkkan di Server. Tetapi SP (baca: di
> MS SQL) mempunyai kelemahan untuk aplikasi Multi User!
> 
> Jika kita login sebagai "SA" maka tabel yg dihasilkan berformat dbo.Tabel_A.
> "dbo" adalah database owner. Sedangkan jika kita login sebagai "Andi" maka
> tabel yang dihasilkan adalah andi.Tabel_A
> 
> Bug?
> -----
> Tetapi ada suatu bug di MS SQL. Misalnya ada file dbo.Tabel_A, dan jika kita
> login sebagai "Andi" kemudian kita Cari apakah Tabel_A ada? Maka hasilnya
> "Ada". Sehingga jika kita hapus Tabel_A (harus dihapus agar tabel
> andi.Tabel_A bisa dibuat oleh select into) maka yg dihapus adalah
> dbo.Tabel_A dan membuat file andi.Tabel_A.
> Sayangnya MS SQL tidak bisa menerima perintah untuk mencari tabel
> andi.Tabel_A, melainkan mencari Tabel_A saja, tidak peduli siapa login name
> yang membuat Tabel tersebut.
> 
> Hal ini menjadi masalah serius sebab DB Admin umumnya membuat file dengan
> login "SA".
> 
> Tabel Andi dibaca oleh Bambang?
> -----------------------------------
> Jika andi.Tabel_A diupayakan bisa diakses oleh user Bambang maka perlu set
> attribut pada tabel tersebut. Hal ini cukup rumit untuk lingkungan multi
> user, sebab kita harus yakin kepada siapa saja Tabel_A ini boileh diakses?
> Bagaimana mengatur mekanisme agar user name Bambang memang layak untuk
> diberi akses? Pada database dengan jumlah tabel dan user masing-masing 10
> hal ini cukup menyulitkan seorang DB Admin.
> Sehingga umumnya DB Admin dan Programmer lebih memilih untuk membuat file
> dbo.Tabel_A daripada andi.Tabel_A, karena dimungkinkan untuk memberikan
> perintah "SELECT INTO dbo.Tabel_A FROM ....."
> 
> Solusi
> ------
> Secara umum programmer Delphi memilih Dataset untuk menampung hasil Query,
> misalnya pakai AdoDataset. Dengan demikian tercipta lingkungan multiuser
> karena masing2 hasil Query ada di Client.
> Jadi, berhati-hatilah menggunakan SP di MS SQL versi 7.0 dan 2K.



------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/i7folB/TM
---------------------------------------------------------------------~->

Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED] 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 


Kirim email ke