Sampai pada saat artikel ini saya tulis, yaitu pada hari Rabu, 16 April 2014, tools PHP code generator PHPMaker mendukung pen-generate-an atau pembangkitan file skrip yang berasal dari lima database terkenal saat ini, yaitu:
- MySQL
- PostgreSQL
Microsoft Access(tidak didukung sejak PHPMaker v2021)- Microsoft SQL Server
- Oracle
- SQLite
Khusus database Microsoft Access dan Microsoft SQL Server hanya bisa dijalankan di sistem operasi Windows. Jika Anda menggunakan Microsoft SQL Server 2000/2005/2008/2012 dan telah menginstal SQL Server 2012 Native Client di komputer Anda, maka pilihan Microsoft SQL Server dan Microsoft SQL Server 2005/2008/2012 akan tersedia pada pilihan Database Type di menu tab [Database] pada aplikasi PHPMaker.
Anda dapat menggunakan tipe database ini untuk koneksi ke SQL Server 2000, 2005, 2008 atau 2012. Anda dapat mengunduh file SQL Server 2012 Native Client dari situs Microsoft. Lihat bagian System Requirements pada file Bantuan yang disertakan di aplikasi PHPMaker. File native client harus diinstal juga di web server.
Penting untuk diketahui, bahwa koneksi ke database via ODBC (Open DataBase Connectivity) tidak didukung oleh PHPMaker. Jadi, PHPMaker harus langsung menghubungi database tanpa melalui ODBC. Alasan utama mengapa PHPMaker tidak mendukung pemakaian ODBC (berdasarkan informasi yang pernah saya ketahui langsung dari author PHPMaker) adalah karena PHPMaker harus mengidentifikasi informasi yang sangat spesifik dari object-object di suatu database, seperti Schema, Tables, dan Fields.
Setiap database memiliki karakteristik yang berbeda antara yang satu dengan yang lainnya. Ketika PHPMaker berhasil menghubungi database, maka semua informasi yang dibutuhkan dari masing-masing database harus ditangani juga secara spesifik oleh PHPMaker. Sementara di sisi yang lain, jika menggunakan ODBC, informasi seperti object Schema tidak bisa dideteksi dari ODBC. ODBC hanya bisa mendeteksi informasi Tables dan Fields, karena bersifat umum (tidak spesifik kepada database tertentu). Akibatnya, jika PHPMaker menggunakan ODBC, maka dia akan mengalami kesulitan untuk mengekstrak informasi lainnya yang seharusnya spesifik di masing-masing database.
Hal ini memang berbeda dengan tools PHP code generator pesaingnya seperti ScriptCase. ScriptCase mendukung koneksi ke database melalui ODBC. Tapi, akibatnya ScriptCase menjadi tidak optimal ketika mengambil informasi yang spesifik dari suatu database. Sementara di sisi yang lain, meskipun terkesan PHPMaker (baru) hanya tergantung kepada lima database di atas tadi, tapi PHPMaker terlihat jauh lebih serius dan sungguh-sungguh dalam mengenali dan mengekstrak informasi detail dari setiap database yang dihubunginya.
Sekarang mari kita bandingkan antara PHPMaker dengan ScriptCase dengan sama-sama menggunakan contoh database Microsoft SQL Server. Ketika PHPMaker memuat file project (.pmp), dia akan mengekstrak informasi dari database SQL Server tadi. Katakanlah kita menggunakan database Microsoft SQL Server yang dalam hal ini bisa membagi-bagi database-nye ke dalam beberapa Schema. Nah, PHPMaker memiliki kemampuan untuk mendeteksi level Schema di SQL Server tadi. PHPMaker memungkinkan Penggunanya untuk memilih Schema tertentu pada menu tab [Database]. Sementara ScriptCase tidak memiliki kemampuan ini, sehingga tidak optimal menggunakan informasi dari database yang digunakannya.
Jadi, jangan senang dulu jika tools PHP code generator yang Anda gunakan bisa menghubungi database melalui koneksi ODBC. Karena konsekuensinya pasti ada. Biasanya, ada fitur yang tidak bisa dioptimalkan dari database tersebut. Salah satunya ya seperti contoh Schema di atas tadi. Dan pasti ada pertimbangan lainnya yang sudah dipikirkan dengan matang oleh author/developer PHPMaker, mengapa akhirnya mereka tidak mendukung ODBC.
Untuk melihat bagaimana cara menghubungi setiap database menggunakan PHPMaker, silahkan baca topik Database Setup dari file Bantuan yang disediakan oleh aplikasi PHPMaker.
Ada dua informasi penting lainnya yang perlu kita ketahui seputar pengaturan koneksi Database dari PHPMaker. Mereka adalah SQL Identifier Quote Character dan Load tables dynamically. Pilihan ini ada di dalam menu tab [Database] aplikasi PHPMaker.
Hampir semua database mendukung quoting of identifiers (database, table, and field names) dengan sebuah karakter. Jika identifier merupakan kata yang sifatnya terbatas atau mengandung karakter khusus atau mengandung spasi, maka Anda harus mengapitnya (quote) dengan karakter tertentu. Dalam banyak kasus, Anda tidak perlu mengganti pengaturan [SQL Identifier Quote Character] ini. PHPMaker akan menggunakan standar karakter pengapit untuk database Anda. Meskipun demikian, jika untuk beberapa alasan tertentu Anda perlu menentukan secara eksplisit karakter tersebut, pilih [SQL Identifier Quote Character] yang sesuai dengan kasus Anda.
Secara standar, semua tabel di database akan dimuat. Hal ini memang nyaman, tapi ketika memuat dan melakukan proses sinkronisasi antara database dengan project PHPMaker, maka akan mengakibatkan lamanya waktu yang dibutuhkan jika database Anda memiliki jumlah Table dan Field yang banyak. Jika pilihan ini diaktifkan, maka sebuah tabel hanya akan dimuat ketika Anda memilihnya dari pane Database di sebelah kiri aplikasi PHPMaker. Jika Anda hanya menggunakan sedikit Table saja dari banyaknya Table yang ada di sana, maka fitur ini dapat membuat pekerjaan Anda lebih cepat. Untuk mengaktifkan fitur ini, cukup beri tanda centang [Load tables dynamically] SEBELUM Anda menekan tombol [Connect] di menu tab [Database].
Radian mengatakan
Bang Masino,
Saya coba pake PHP Maker dengan SQL Server 2008, sudah bisa connect namun pada saat buka di browser muncul error :
Fatal error: Class ‘VARIANT’ not found in D:\xampp\htdocs\TestPHPMSSL\adodb5\drivers\adodb-ado5.inc.php on line 42
Saya menggunakan xampp 1.83
Ada Solusi?
Salam
Radian
Masino Sinaga mengatakan
Pesan itu biasanya muncul karena di komputer tempat web server berada belum terinstal SQL Server Native Client.
Solusinya, pastikan Anda sudah menginstall native client tersebut, seperti yang tercantum di sini: http://www.hkvstore.com/phpmaker/download.asp bagian System Requirements.
Radian mengatakan
Bang Masimo,
Saya ganti xampp ke versi 1.7 langsung jalan, mungkin xampp 1.83 ada trouble untuk ke sql server.
Salam
Radian
meidy n surawinata mengatakan
Pak Masino bagaimana caranya membuat form yg ada TAB nya di PHPMaker ? Saya melihat contoh di Scriptcase dilakukan dg mudah. Apakah di PHPMaker seperti itu caranya ? Saya sdg berencana membeli software. Antara Scriptcase atau PHPMaker.
Terima kasih.
Meidy
Masino Sinaga mengatakan
Kalau di PHPMaker, pemakaian Tab di sebuah form atau halaman merepresentasikan pembagian area lokasi Field ke dalam beberapa Page, atau istilah di PHPMaker dikenal dengan Multi-Page. Jadi, istilah Page di sini, sama dengan istilah tampilan Tab secara visual.
Untuk menerapkannya di PHPMaker, sangatlah mudah. Anda cukup membuat nilai yang berbeda pada kolom Page No. yang terdapat di bawah kolom General pada Fields setup. Misalkan Field A, B, C, dan D masing-masing nilainya 1, sementara Field E, F, G masing-masing nilainya 2. Hasil akhirnya: Field A s.d. D berada di Tab pertama, sedangkan Field E s.d. G berada di Tab kedua. Demikian seterusnya.
Baca juga bagian Page No. yang terdapat di bawah topik Field Setup pada menu Help PHPMaker untuk informasi lebih lanjut mengenai hal ini.
Inaya mengatakan
Pak saya ingin tanya.
Saya ingin membuat projek dengan phpmaker db_nya oracle. Proses generatenya sudah sukses dan sudah saya cek filenya hasil generate pun..sudah ada.
tapi ketika saya tampilkan Di browser yg muncul hanyalah blank page. Mohon pencerahannya. Padahal sebelumnya saya generate dg db mysql itu berhasil sukses dan dpt digunakan. Mohon petunjuknya. Terimakasih
Masino Sinaga mengatakan
Aktifkan mode debug dari menu Tools -> Advanced Settings -> Debug, lalu generate ulang lagi, untuk melihat apakah ada pesan error atau tidak.
Rudy Budiana mengatakan
phpmaker saya koneksi ke MSSQL Server. Tapi setelah di generate tampilan nya nge BLANK..
setelah saya debug :
Mohon pencerahan nya.
Masino Sinaga mengatakan
Sesuai dengan pesan error tersebut Provider cannot be found. It may not be properly installed, maka pastikan Anda sudah meng-install SQL Server Native Client, seperti yang tercantum di bagian System Requirements pada halaman ini: http://www.hkvstore.com/phpmaker/download.asp.
Rudy Budiana mengatakan
Dear bang masino,
ini diinstall nya di komputer tempat kita generate phpmaker nya atau di server database nya.. ?
Masino Sinaga mengatakan
Di komputer tempat web server berada.
Rudy Budiana mengatakan
Sipp mantap.. !! it’s workkkkkkk !!
terimakasih banyak
Masino Sinaga mengatakan
Sama-sama.
Ari mengatakan
Dear bang masino
setelah saya generate php report maker yang terbaru kenapa loading trus yah..
saya menggunakan Xamp v3.2.3
koneksi database PostgreSQL pgadmin III
apakah ada yang salah atau harus di tambahkan,
Terima Kasih