Configuration Manager umumnya menggunakan pattern singleton yang artinya dia tidak bisa di new dan tidak bisa diassign. Singleton ini hanya bisa ada 1 object di seluruh applikasi. Pattern ini sulit diimplementasikan dengan vb6. Di java dan .net pattern ini sangat dipakai.
Karena itu di vb6 hanya bisa menggunakan variable global dengan class tertentu dan hanya ada 1 tempat yang boleh membuatnya. contoh configurationmanager class configurationmanager public sub new end sub function ConnectionString as string 'baca dari file atau registry return hasilpembacaan end function function MaxCacheSize as integer 'baca dari file atau registry return hasilpembacaan end function end class Untuk password sebaiknya menggunakan integrated security saja jadi lebih aman dan mudah diubah dari server. Kalo dihardcode ada perubahan susah. untuk terminate gracefully dan error handling kira-kira begini public sub shrinkdata on error goto onerror Dim cnn As New ADODB.Connection Dim strConnect As String strConnect = "DRIVER={SQL SERVER};SERVER= PC_ANESS; DATABASE= DB_ANESS; UID=USER_ SQL_SERVER_ ANESS;PWD= PASSWORD_ ANESS" cnn.Open cnn.Execute "DBCC SHRINKDATABASE( NAMA_DBMU)", False, True cnn.close() set cnn =nothing return onerror: dim desc as string dim number as integer dim source as string set desc= Err.Description set number = err.Number set source= Err.Source Err.Number, Err.Source, Err.Description if not cnn is nothing then cnn.close() set cnn =nothing end if Err.Raise Number,Source,Desc end sub Cara ini menjamin koneksi selalu ditutup kapanpun even ketika ada masalah ditengah jalan. Kedua error tetap terpropagasi ke depan untuk ditindak lanjuti misal memberikan error message ke user. Error message hanya boleh ditampilkan di layer ui tidak boleh ditempat lain. Lebih bagus kalo errormesssge di log dulu agar ada catatan . Untuk timeout ada 2 jenis. Timeout untuk mencoba koneksi dan timeout untuk menjalan sebuah query. Untuk time out mencoba koneksi silahkan liat bagaimana membuat sebuah connectionstring yang benar lengkap dengan timeout dan pagepooling. Untuk timeout menjalankan sebuah query saya kurang tahu di vb 6 bagaimana melaksanakannya. untuk yang thread saya sudah lama nggak bikin program pake vb6 lagi jadi lupa. Maaf. ________________________________ From: Edy WIYONO <edy.wiy...@yahoo.co.id> To: programmer-vb@yahoogroups.com Sent: Thu, June 17, 2010 6:50:05 PM Subject: RE: [programmer-vb] Compact Sql Server 2005 Masukan yang sangat bagus. Undelinenya memang sekadar jalan saja. Kalau mau di optimasi ya itu lain lagi masalahnya. Btw, bagaimana optimasi koding saya yang sekadar jalan Itu sehingga masuk standar best practice? Kalau tidak keberatan, revisinya silahkan di sharing untuk Pembelajaran bagi saya juga bagi yang lain. Salam Hangat dan Jabat Erat EdyWiyono ________________________________________ From: programmer-vb@yahoogroups.com [mailto:programmer...@yahoogroups.com] On Behalf Of johan max Sent: Thursday, June 17, 2010 16:12 To: programmer-vb@yahoogroups.com Subject: Re: [programmer-vb] Compact Sql Server 2005 Sekedar komentar kode dibawah ditekankan untuk sekedar jalan tapi tidak mendukung best practices : 1. tidak ada configuration manager (sql connection dihardcode) 2. password disimpan dalam plain text 3. tidak terminate gracefully. Connectionnya tidak ditutup dalam kondisi apapun (baik error atau tidak) 4. timeout tidak diset 5. ui akan frezee dengan kode ini. harus pake thread ________________________________________ From: Edy WIYONO <edy.wiy...@yahoo. co.id> To: programmer-vb@ yahoogroups. com Sent: Wed, June 16, 2010 10:52:58 PM Subject: RE: [programmer- vb] Compact Sql Server 2005 Mungkin seperti ini: Dim cnn As New ADODB.Connection Dim strConnect As String strConnect = "DRIVER={SQL SERVER};SERVER= PC_ANESS; DATABASE= DB_ANESS; UID=USER_ SQL_SERVER_ ANESS;PWD= PASSWORD_ ANESS" ‘contohnya ‘strConnect=DRIVER= (SQL SERVER);SERVER= PS001;DATABASE= DB_LATIHAN; UID=sa;PWD=’’” cnn.ConnectionStrin g = strConnect cnn.Open cnn.Execute "DBCC SHRINKDATABASE( NAMA_DBMU)", False, True Set cnn = Nothing Ganti PC_ANESS dengan nama SERVER DB_ANESS dgn nama DATABASE UID_SQL_SERVER_ ANESS dgn nama login ke SQL Server , misalnya sa PASSWORD_ANESS dgn password dari login tsb. Salam Hangat dan Jabat Erat EdyWiyono ________________________________________ From: programmer-vb@ yahoogroups. com [mailto: programmer-vb@ yahoogroups. com ] On Behalf Of Anez Story Sent: Thursday, June 17, 2010 10:10 To: programmer-vb@ yahoogroups. com Subject: Re: [programmer- vb] Compact Sql Server 2005 dear johan max, iya ada. pesan nya : compile error : sub or function not defined tapi kalau saya coba jalankan di query analyzer di sql server 2005 sukses.. ________________________________________ From: johan max <johans...@yahoo. com> To: programmer-vb@ yahoogroups. com Sent: Wed, June 16, 2010 7:45:57 PM Subject: Re: [programmer- vb] Compact Sql Server 2005 Ada pesan kesalahan ? ________________________________________ From: Anez Story <anez_st...@yahoo. com> To: programmer-vb@ yahoogroups. com Sent: Thu, June 17, 2010 8:02:26 AM Subject: Re: [programmer- vb] Compact Sql Server 2005 dear johan max, terima kasih atas tanggapan nya.. saya sudah coba jalanin lewat vb 6 kok ga bs ya? mohon pencerahan nya.. ________________________________________ From: johan max <johans...@yahoo. com> To: programmer-vb@ yahoogroups. com Sent: Wed, June 16, 2010 12:20:55 PM Subject: Re: [programmer- vb] Compact Sql Server 2005 DBCC SHRINKDATABASE( NAMADATABASE) ,. harus dba atau sysadmin atau storageadmin ________________________________________ From: Anez Story <anez_st...@yahoo. com> To: Programmer VB <programmer-vb@ yahoogroups. com> Sent: Wed, June 16, 2010 10:17:36 AM Subject: [programmer- vb] Compact Sql Server 2005 dear all, ada yang tau cara compact database sql server 2005 melalui coding vb 6? thanks best regrads, story