Database Firebird versi Embedded
Horeee akhirnya bisa nulis lagi dan ini postingan pertama saya di awal tahun 2013 🙂
Beberapa waktu yang lalu saya sering menggunakan database Ms Access untuk pembuatan aplikasi standalone tetapi mengingat beberapa kekurangan yang dimiliki oleh database Ms Access seperti pembengkakan ukuran database yang sangat “mengerikan” 😀 dan terkadang terjadi kerusakan database sehingga memaksa saya untuk mencari alternatif lain yang bisa menggantikan database Ms Access.
Usut punya usut ternyata database favorit saya (Firebird) juga menyediakan library yang memungkinan database Firebrid bisa diperlakukan seperti layaknya database Ms Access (tanpa membutuhkan konfigurasi server sama sekali).
Pada postingan saya kali ini kita akan membahas apa saja yang diperlukan untuk memanfaatkan database Firebird versi Embedded setelah itu akan kita coba mengaksesnya dari bahasa pemrograman C#.
1. Download terlebih dulu library database Firebird versi Embedded
Ekstrak file Firebird-2.5.2.26539-0_Win32_embed.zip kemudian dari file-file yang ada, yang kita butuhkan hanya file fbembed.dll, icudt30.dll, icuin30.dll dan icuuc30.dll.
Semua file diatas harus dicopykan ke folder aplikasi (bin\debug atau bin\release).
2. Download Firebird ADO.NET Data Provider
Pada gambar di atas saya mendownload file NETProvider-3.0.2.0-NET35.7z karena saya menggunakan C# 2008 yang membutuhkan .NET Framework 3.5 kemudian ekstrak file tersebut.
Yang kita butuhkan cukup file FirebirdSql.Data.FirebirdClient.dll
3. String koneksi yang digunakan
String koneksi yang digunakan untuk mengakses database Firebird versi non Embedded adalah seperti berikut :
var strConn = @"User ID=SYSDBA;Password=masterkey;Database=localhost:c:\database\test.fdb";
Sedangkan untuk versi Embeddednya seperti berikut :
var strConn = @"ServerType=1;User=SYSDBA;Password=masterkey;Dialect=3;Database=c:\database\test";
Setelah semua persiapan lengkap saatnya kita menuliskan kode untuk mengakses database Firebird versi Embedded
1. Buat project baru, untuk contoh disini saya menggunakan project dengan tipe Console Application
2. Menambahkan referensi Firebird ADO.NET Data Provider
Untuk mengakses database Firebird kita membutuhkan libaray Firebird ADO.NET Data Provider.
Untuk menambahkan library tersebut kedalam project, caranya cukup mudah hanya dengan mengklik kanan Project -> Add Reference…
Kemudian tentukan lokasi file FirebirdSql.Data.FirebirdClient.dll
Kemudian dilanjutkan dengan melakukan proses Build
Proses ini dibutuhkan untuk menghasilkan folder bin\Debug atau bin\Release
3. Mengcopykan file fbembed.dll, icudt30.dll, icuin30.dll dan icuuc30.dll ke folder bin\Debug atau bin\Release
Setelah itu kita akan coba kode untuk melakukan koneksi ke database dan menampilkan datanya.
namespace AksesFirebirdEmbedded { class Program { static void Main(string[] args) { var appPath = System.IO.Directory.GetCurrentDirectory(); var strConn = "ServerType=1;User=SYSDBA;Password=masterkey;Dialect=3;Database=" + appPath + "\\TEST.FDB"; using (var conn = new FbConnection(strConn)) { conn.Open(); var strSql = "SELECT idagama, deskripsi FROM agama"; using (var cmd = new FbCommand(strSql, conn)) { using (var dtr = cmd.ExecuteReader()) { while (dtr.Read()) { Console.WriteLine(dtr.GetString(0) + ", " + dtr.GetString(1)); } } } } Console.ReadKey(); } } }
Selamat MENCOBA 🙂
Open Source Project
Kategori
- Continuous Integration (9)
- Database (21)
- Firebird (11)
- MySQL (4)
- SQL Server 2000 (1)
- SQLite (6)
- Freeware (8)
- Jaringan (2)
- Logger (1)
- NuGet (6)
- Testing (1)
- Tools Installer (8)
- Inno Setup (6)
- NSIS (2)
- Uncategorized (17)
- Version Control (1)
- Visual Basic (77)
- Active Report (4)
- Winsock (6)
- Visual Basic .NET (10)
- Visual C# (47)
- .NET Remoting (9)
- Dapper .NET (8)
- Entity Framework (9)
- WCF (1)
- Visual Studio .NET (7)
- Build Events (3)
- Software Testing (4)
Arsip
- July 2018 (1)
- September 2017 (1)
- August 2017 (2)
- April 2017 (1)
- January 2017 (2)
- December 2016 (2)
- November 2016 (1)
- October 2016 (1)
- September 2016 (3)
- August 2016 (1)
- July 2016 (3)
- June 2016 (1)
- March 2016 (1)
- February 2016 (5)
- January 2016 (4)
- October 2015 (1)
- July 2015 (2)
- June 2015 (4)
- May 2014 (1)
- April 2014 (3)
- March 2014 (9)
- June 2013 (1)
- March 2013 (1)
- February 2013 (2)
- January 2013 (2)
- August 2012 (1)
- July 2012 (1)
- June 2012 (1)
- May 2012 (4)
- April 2012 (1)
- March 2012 (2)
- February 2012 (3)
- January 2012 (2)
- December 2011 (3)
- November 2011 (3)
- October 2011 (1)
- September 2011 (2)
- August 2011 (1)
- July 2011 (2)
- June 2011 (4)
- March 2011 (2)
- February 2011 (2)
- January 2011 (4)
- December 2010 (7)
- November 2010 (3)
- October 2010 (3)
- September 2010 (3)
- August 2010 (4)
- July 2010 (3)
- June 2010 (5)
- May 2010 (4)
- April 2010 (8)
- March 2010 (12)
- February 2010 (9)
- January 2010 (23)
- December 2009 (10)
Artikel Favorit
Artikel Terbaru
- Membuat jaringan VPN Menggunakan SoftEther VPN Bagian #1
- GitLab CI untuk .NET Developer Bagian #2
- GitLab CI untuk .NET Developer Bagian #1
- Membuat Service SMS Gateway Untuk Engine Gammu
- OpenRetail – Open Source Project for Retail Business
- Membuat Log Aplikasi Menggunakan Log4Net
- Manajemen Perubahan Struktur Database Menggunakan Liquibase
- Build Otomatis Project Visual Basic 6 Menggunakan Jenkins
- Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins Bagian #4
- Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins Bagian #3
- Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins Bagian #2
- Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins Bagian #1
Recent Comments
Blog Stats
- 1,135,251 hits
mantep manfaat banget… trims ilmunya. kalo diakses pake vb6 gmana mas
Bisa kok om, kalo mengacu postingan sy di atas maka string koneksi yang digunakan di VB 6 seperti berikut :
Pada string koneksi di atas ada tambahan properties Client yg diarahkan ke file fbembed.dll
harus install firebird odbc dulu ya mas?
Yuph klo itu wajib
trims, dicoba dulu. di compare dong dengan SQLite apa aja kelebihan dan kekurangan keduanya… 😀
Coba kesini om.
Yg jelas Firebird Embedded mendukung semua fitur Firebird Server
assalamualaikum
mas saya masih belajar vb6 tapi kayanya ini menarik, bisa kiranya di kasih penerapan nya di vb6 mengenai bahasan ini terimakasih
Waalaikumussalam
Loh bukannya om KuntoSA di atas sudah menanyakan penerapannya di VB 6
pak mau tanya, sy mau buat aplikasi buat kantor nah punya 3 cabang nah saya mau buat pake firebird databasenya, nah maunya bos tiap cabang bisa buka data dari mana aja baik dari pusat atau dari cabang yang lain, rencana pertama database pusat di kroyok dari cabang, dan saya tes itu lambat pak karena internet di cabang tidak sebagus di pusat, rencana kedua itu tiap-tiap cabang dan pusat punya db sendiri nah nanti sy akan lakukan syncronize data …. tapi belom tau caranya ini baru konsep hehe… minta bantuannya pak bagusnya gimana ? kalau misal di tiap cabang ada db itu gabunginnya caranya gimana … makasih pak
Klo sy lebih memilih solusi yang kedua om yaitu masing2x cabang mempunyai database tersendiri, proses sinkronisasinya setelah kantor tutup aja misal kantor tutup jam 4 baru dilakukan proses sinkronisasi.
Proses sinkronisasinya juga gampang enggak perlu sampe penggabungan database segala, cukup yg disetor datanya saja.
Klo teknisnya juga enggak terlalu rumit aplikasinya buka 2 koneksi, satu koneksi ke database lokal yang satunya lagi ke database pusat (dibuka pada saat mau proses sinkronisasi aja).
Pada saat proses sinkronisasi aplikasi tinggal select data dicabang kemudian insert/update ke database pusat.
Emang developnya pake bahasa apa om ?
Trus untuk koneksi pusat dan cabang pake VPN ya ?
Makasih pak, atas solusinya. Kalau bahasa saya pake PowerBuilder hehehe … bahasa clasik tapi asyik. Iya koneksi pake VPN, kita bisnisnya Rental Mobil tapi kita sudah cukup besar kita ada 3 cabang, oya pak di server kebetulan sudah ada database firebird utuk aplikasi keuangan tapi versinya udah lama, nah saya mau pasang lagi datababase firebird yang versi terbaru itu caranya gimana pak ? jadi satu komputer ada 2 service firebird, caranya gimana pak ? mohon pencerahannya
oya kalau kita backup database firebird tapi hanya beberapa tabel caranya gimana pak ? kan tabel banyak sekali, yang saya mau update tidak semua tabel jadi hanya sebagian saja, mohon pencerahaan sekali lagi…. makasih banyak pak
Untuk pertanyaan nomor satu sy sendiri belum pernah cobah sih om, cuma ada beberapa link yg om bisa coba :
1. Running several Firebird Instances per Server Machine
2. How to run two or more versions of Firebird simultaneously ?
Yg nomor 2 pertanyaannya backup tabel atau update tabel ya?
makasih atas pencerahannya, yang kedua itu kan dalam satu database itu banyak banget tabelnya, nah paling bebrapa master dan transaksi yang mau diambil, jadi backup beberapa tabel di dalam database, soalnya kalau yg script beckup biasa kan backup semua tabel, kan yang di pake gak semua tabel untuk di updatenya, makasih atas pencerahannya.
Coba pake FBExport om.
Makasih pak, sy pelajari dulu
Oke sipp
Assalamu’alaikum.
Pak mo tanya,
1. Berapa banyak trigger yang bisa dibuat untuk satu table pada firebird?
2. Beda antara Firebird versi Embedded dengan versi Server apa ya?
Waalaikumussalam
1. Emg om mau buat sebanyak apa ? 20 kayaxnya masih bisa :D, dari pengalaman 3 aja udah cukup untuk menghandle semua event (after insert, after update, after delete).
Walaupun firebird sendiri menyediakan 6 event
2. Kekurangan dan kelebihan versi Embedded
o Tidak bisa diakses secara remote (klo utk share folder sy belum sempat coba)
o Tidak perlu konfirgurasi server
o Untuk referensi lainnya bisa dicek disini.
CMIIW
Makasih pak admin, baru belajar bikin trigger pak,.. kalo mysql server saya coba bikin trigger lebih dari satu ga bisa..
Iya om salah satu kekurang MySql tidak bisa membuat trigger lebih dari satu untuk event yang SAMA, tapi klo beda event tetap bisa kok om.
Kekurangan ini tidak kita temui di Firebird
Muter-muter nyari tutor nemu web bagus tentang firebird … Pak admin saya mau tanya bagaimana caranya membuat backup database secara auto .. jadi gini. Di kantor ada server nah bos maunya kita colokin external hadrisk, nah database firebird bisa backup otomatis ke hardisk external tersebut .. kita maunya harian jadi ya kira-kira jam 6 sore itu otomatis backup sendiri ke hardisk external tersebut, cuma buat jaga-jaga takutnya server hang atau rusak. Nah ada tools atau kita perlu buat aplikasi buat jalaninnya, kalau aplikasi minto tolong bisa intip sourcenya ya heheh, oya pake vb6 saya bisanya
Makasih sebelumnya pak
Klo sy biasanya pake tool Firebird-Interbase Backup Scheduler, toolnya bagus walaupun udah lama dan enggak di update lagi yg jelas masih support firebird 2.5
Om Admin..ada contoh program vb dengan database firebrid yang seperti program sistem informasi sekolah tidak..ingin belajar ..hehehe terima kasih
Ada tapi versi yg berbayar, tertarik ? 😀
Klo hanya ingin belajar dari contoh yg disini aja kan bisa.
Apalagi yg namanya aplikasi database secara umum kan enggak jauh2x dari yg namanya INSERT, UPDATE, DELETE dan SELECT. Semua database mendukung perintah ini jadi enggak ada yg spesial tentang masalah ini.
Kalau source seperti Smart Librart School dijual tidak om..sama mau nanya cara mengkoneksikan database firebrid dengan file *.ini gimana ya om..menggunakan vb ..hehe lagi semanggat belajar
Untuk sementara enggak jualan source code om, enggak tau kedepannya :D.
Untuk membaca dan menulis file *.INI sudah sy bahas disini.
Misal kita punya file dengan nama Setting.ini yg tersimpan di folder aplikasi kemudian untuk isinya seperti berikut :
Berikut kode untuk melakukan koneksi ke database firebird berdasarkan informasi di atas.
Untuk fungsi readINI, kode lengkapnya bisa dilihat disini.
Wahh terima kasih sekali Om.admin….keren keren
Sama-sama om
Om. Admin gimana caranya koneksi dengan visual studio 2010.yang memakai coding.trims salam kenal Joksin.trims
Om, untuk yang versi embed ini, gimana cara ganti sysdba seperti yang ada di tutorial ini https://coding4ever.wordpress.com/2012/05/19/berlindung-di-belakang-sysdba/ ?
Trimakasih…
Langsung dicoba aja om, lagi males nih 😀
Om Admin, kalau mau tarik data tabel dari beberapa database kedalam 1 report (fast report) atau flamerobin querynya seperti apa ya. thanks
Sy belum pernah pake fast report ? Ini utk delphi ya ?
Yg jelas klo sy ketemu kasus seperti ini, lakukan SELECT dari tabel masing2x database kemudian masing2x hasil SELECTnya disimpan dalam object collection (misal object A dan B) setelah itu object A dan B-nya di merge baru ditampilkan ke laporan.
siip Saya paham logikanya,, tapi bisa diberi contoh querynya tidak untuk penyimpanan ke object collection dan merging nya
kalau jalan di php bagaimana gan???