Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Database Firebird Versi Embedded

| Comments

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” :D 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

09012013-1

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.

09012013-3

Semua file diatas harus dicopykan ke folder aplikasi (bin\debug atau bin\release).

  1. Download Firebird ADO.NET Data Provider

09012013-2

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.

09012013-4

Yang kita butuhkan cukup file FirebirdSql.Data.FirebirdClient.dll

  1. String koneksi yang digunakan

String koneksi yang digunakan untuk mengakses database Firebird versi non Embedded adalah seperti berikut :

1
var strConn = @"User ID=SYSDBA;Password=masterkey;Database=localhost:c:\database\test.fdb";

Sedangkan untuk versi Embeddednya seperti berikut :

1
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

09012013-5

  1. 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…

09012013-6

Kemudian tentukan lokasi file FirebirdSql.Data.FirebirdClient.dll

09012013-7

Kemudian dilanjutkan dengan melakukan proses Build

09012013-8

Proses ini dibutuhkan untuk menghasilkan folder bin\Debug atau bin\Release

  1. Mengcopykan file fbembed.dll, icudt30.dll, icuin30.dll dan icuuc30.dll ke folder bin\Debug atau bin\Release

09012013-9

Setelah itu kita akan coba kode untuk melakukan koneksi ke database dan menampilkan datanya.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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();
        }
    }
}

09012013-10

Selamat MENCOBA :)

firebird, visual c#

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service, Microservice) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database, Continuous Integration & Deployment dan arsitektur Microservice.
Selain mengajar, saat ini penulis juga bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu luang insya Alloh akan terus berbagi pengalaman di blog ini :)

« Update Smart Library School 07-08-2012 ToDo List »

Comments