<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog of Dimaz &#187; firebird</title>
	<atom:link href="http://dimaz.web.id/tag/firebird/feed/" rel="self" type="application/rss+xml" />
	<link>http://dimaz.web.id</link>
	<description>The story of my mind</description>
	<lastBuildDate>Sun, 05 Feb 2012 10:56:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Network Computing : Connection Lost</title>
		<link>http://dimaz.web.id/computer/programming/basis-data-programming-computer/network-computing-connection-lost/</link>
		<comments>http://dimaz.web.id/computer/programming/basis-data-programming-computer/network-computing-connection-lost/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 21:42:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Basis Data]]></category>
		<category><![CDATA[connection lost]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[firebird]]></category>
		<category><![CDATA[ibdatabase1]]></category>
		<category><![CDATA[ibquery1]]></category>
		<category><![CDATA[network computing]]></category>

		<guid isPermaLink="false">http://dimaz.web.id/?p=1775</guid>
		<description><![CDATA[Program atau aplikasi yang berjalan di jaringan ternyata memiliki kompleksitas yang jauh lebih tinggi ketimbang program standalone. Anda dapat berharap jaringan Anda tidak bermasalah, tetapi begitu Anda harus menjalankan program dalam jaringan yang terputus-putus, tentu saja ada penanganan khusus terhadap connection lost ini. Yang akan saya bahas di sini menggunakan IDE Delphi dan database Firebird, [...]]]></description>
			<content:encoded><![CDATA[<p>Program atau aplikasi yang berjalan di jaringan ternyata memiliki kompleksitas yang jauh lebih tinggi ketimbang program standalone. Anda dapat berharap jaringan Anda tidak bermasalah, tetapi begitu Anda harus menjalankan program dalam jaringan yang terputus-putus, tentu saja ada penanganan khusus terhadap connection lost ini.</p>
<p>Yang akan saya bahas di sini menggunakan IDE Delphi dan database Firebird, dan koneksi menggunakan komponen Interbase bawaan Delphi.<br />
<span id="more-1775"></span><br />
Kita akan sedikit membahas teori tentang tipe koneksi. Pada dasarnya ada 2 tipe koneksi, yaitu connection-oriented dan connectionless. Connection-oriented artinya koneksi (dengan server) akan tetap dipertahankan selama program berjalan, sedangkan connectionless artinya koneksi antara program dengan server hanya akan dibuat ketika program membutuhkan data.</p>
<p>Contoh aplikasi connection-oriented adalah ketika Anda login, Anda akan menjalankan perintah ini:<br />
IBDatabase1.Connected := true;<br />
dan koneksi ini akan diputus ketika seorang pengguna logout atau menutup aplikasi.<br />
Nah, masalahnya, ketika terjadi connection lost, maka ada beberapa perintah yang akan mengeluarkan error ketika dieksekusi, oleh karena itu, kita harus memberinya exception dan menjalankan perintah yang tetap bisa dijalankan sekalipun koneksi jaringan terputus.<br />
Anda dapat membaca <a href="http://mc-computing.com/databases/Delphi/IBX_LC_Code.html">artikel dari mc-computing</a> yang membahas tentang bagaimana menangani connection lost.<br />
Beberapa baris perintah yang error adalah:</p>
<p>- <strong>IBDatabase1.Connected := false;</strong><br />
Anda dapat menambahkan baris perintah IBDatabase1.ForceClose; yang tetap berjalan meski koneksi terputus.<br />
contoh :<br />
<em>try<br />
  IBDatabase1.Connected := false;<br />
  IBDatabase1.ForceClose;<br />
except<br />
end;</em><br />
Jangan lupa juga memeriksa apakah transaksi sedang InTransaction atau tidak, dan me-rollback atau commit.<br />
<em>if IBTransaction1.InTransaction then<br />
begin<br />
  IBTransaction1.Rollback;<br />
  IBTransaction1.Active := False;<br />
end;</em></p>
<p>-<strong>IBQuery1.Open;</strong><br />
Perhatikan, dataset akan selalu menimbulkan exception &#8220;Invalid transaction handle&#8221; ketika dia diberi perintah open, apabila ketika terjadi connection lost dataset tersebut sedang dalam keadaan open dan belum ditutup. Oleh karena itu, mungkin Anda harus sedikit &#8220;membersihkan&#8221; kode-kode Anda dengan menambahkan baris perintah:<br />
<em>IBQuery1.Close;<br />
IBQuery1.Active := false;</em><br />
di setiap akhir query yang Anda lakukan. Tentu saja saya tidak bisa menjelaskan di mana saja baris perintah ini harus diletakkan, karena tergantung pada algoritma dan alur program yang Anda pakai.<br />
Penggunaan tambahan 2 baris di atas juga dapat menghilangkan munculnya exception &#8220;Dataset open&#8221; ketika sebuah form ditutup atau dibuka yang mana dalam form tersebut terdapat dataset yang masih terbuka.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=290579107645395&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dimaz.web.id/computer/programming/basis-data-programming-computer/network-computing-connection-lost/" layout="standard" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_comments_plugin"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=290579107645395&amp;xfbml=1" type="text/javascript"></script>
<fb:comments num_posts="2" width="450" colorscheme="light" href="http://dimaz.web.id/computer/programming/basis-data-programming-computer/network-computing-connection-lost/"></fb:comments></div>]]></content:encoded>
			<wfw:commentRss>http://dimaz.web.id/computer/programming/basis-data-programming-computer/network-computing-connection-lost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Melindungi Database Firebird dari Akses SYSDBA</title>
		<link>http://dimaz.web.id/computer/programming/basis-data-programming-computer/melindungi-database-firebird-dari-akses-sysdba/</link>
		<comments>http://dimaz.web.id/computer/programming/basis-data-programming-computer/melindungi-database-firebird-dari-akses-sysdba/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 22:16:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Basis Data]]></category>
		<category><![CDATA[DBMS]]></category>
		<category><![CDATA[fbownermigrator]]></category>
		<category><![CDATA[firebird]]></category>
		<category><![CDATA[sysdba]]></category>

		<guid isPermaLink="false">http://dimaz.web.id/?p=1765</guid>
		<description><![CDATA[Firebird merupakan salah satu solusi kebutuhan database yang bersifat open source, gratis, dan dapat dimanfaatkan untuk kebutuhan apa saja. Firebird akan menjadi sangat bermanfaat apabila Anda memang membutuhkan suatu DBMS yang komprehensif dan memiliki fasilitas storedprocedure, trigger, indexes, transaction, dan banyak lagi. Apabila Anda sudah sering menggunakan database Firebird, mungkin Anda telah akrab dengan akun [...]]]></description>
			<content:encoded><![CDATA[<p>Firebird merupakan salah satu solusi kebutuhan database yang bersifat open source, gratis, dan dapat dimanfaatkan untuk kebutuhan apa saja. Firebird akan menjadi sangat bermanfaat apabila Anda memang membutuhkan suatu DBMS yang komprehensif dan memiliki fasilitas storedprocedure, trigger, indexes, transaction, dan banyak lagi.<br />
<span id="more-1765"></span><br />
Apabila Anda sudah sering menggunakan database Firebird, mungkin Anda telah akrab dengan akun SYSDBA (dan password masterkey), dan bahkan menggunakan akun super administrator tersebut untuk membuat file-file database production Anda. Tetapi menjadi suatu permasalahan apabila Anda hendak membatasi hak akses SYSDBA, mungkin karena Anda ingin melindungi integritas data di dalamnya dari direct access user yang tidak bertanggungjawab. Nah, beberapa waktu lamanya aku mencari cara untuk melindungi database firebird ini dari akses SYSDBA. Model proteksi Firebird yang populer salah satunya adalah milik Accurate, software accounting.</p>
<p>Cara pertama adalah dengan mengubah password standar SYSDBA. Namun mungkin akan menjadi masalah apabila file database kita dikopi ke mesin lain dengan server Firebird yang masih standar, yang tentunya juga masih memiliki password standar. User akan dengan mudah membuka file database kita dengan akun SYSDBA.</p>
<p>Cara kedua, dengan menterjemahkan artikel dari <a href="http://eksa.wordpress.com/2008/09/03/protectun-protect-data-fbib-dari-gangguan-sysdba/">eksa</a> ke dalam program. Namun setelah kucoba, file security2.fdb tidak lagi dapat dibuka dengan akun super administrator, sehingga cara ini mungkin sudah kadaluarsa dengan sistem Firebird di atas versi 1.5.</p>
<p>Cara ketiga, Anda bisa membuat database baru dengan user baru yang Anda buat sendiri. Kemudian Anda bisa memompa data dari database lama ke database baru. Namun masalahnya, apabila Anda sudah terlanjur menciptakan database dengan SYSDBA dan proses development sudah terlampau jauh dengan berbagai rules telah terpasang dalam database Anda, memompa data ke database baru bukan suatu pekerjaan mudah. Anda harus memastikan seluruh data berpindah dengan sempurna.</p>
<p>Cara keempat, Anda bisa menggunakan FBOwnerMigrator yang dibuat oleh <a href="http://blog.upscene.com/thomas/comments.php?y=08&#038;m=07&#038;entry=entry080730-233217">Thomas Steinmaurer</a>. Program utility ini bisa Anda dapatkan dengan menghubungi Thomas Steinmaurer (alamat email ada di tautan). Program ini akan memigrasi ownership database Anda dari SYSDBA ke user baru yang telah Anda create sebelumnya, sehingga pada akhirnya database Anda akan terlindungi dari akses SYSDBA.<br />
(Thanks to Mr. Steinmaurer for his great job)</p>
<p><img src="http://4.bp.blogspot.com/_QSqqZwB3CTk/SQr41EQLPaI/AAAAAAAAAMw/kvv7AZ_3tLI/s400/353px-Ds-firebird-logo.svg.png" alt="firebirdsql" /></p>
<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=290579107645395&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dimaz.web.id/computer/programming/basis-data-programming-computer/melindungi-database-firebird-dari-akses-sysdba/" layout="standard" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_comments_plugin"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=290579107645395&amp;xfbml=1" type="text/javascript"></script>
<fb:comments num_posts="2" width="450" colorscheme="light" href="http://dimaz.web.id/computer/programming/basis-data-programming-computer/melindungi-database-firebird-dari-akses-sysdba/"></fb:comments></div>]]></content:encoded>
			<wfw:commentRss>http://dimaz.web.id/computer/programming/basis-data-programming-computer/melindungi-database-firebird-dari-akses-sysdba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ex Marching Band Guy</title>
		<link>http://dimaz.web.id/musik/ex-marching-band-guy/</link>
		<comments>http://dimaz.web.id/musik/ex-marching-band-guy/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 14:10:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[English Corner]]></category>
		<category><![CDATA[Musik]]></category>
		<category><![CDATA[aztec fire]]></category>
		<category><![CDATA[firebird]]></category>
		<category><![CDATA[marching band]]></category>

		<guid isPermaLink="false">http://dimaz.web.id/?p=1633</guid>
		<description><![CDATA[Yes, I was a marching band guy when I was in junior high school. Strange enough, because actually I have no talent in playing any instrument. I just loved to see those marching band guys proudly playing their musics with formations, and then I joined. After audition, I got accepted in horn line squad, trumpet [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, I was a marching band guy when I was in junior high school. Strange enough, because actually I have no talent in playing any instrument. I just loved to see those marching band guys proudly playing their musics with formations, and then I joined.<br />
After audition, I got accepted in horn line squad, trumpet 2 instrument before moved to trumpet 1 in my second year of junior high school. I never felt convident in playing those instruments, but yet I enjoyed the hard trainings. Yes, the training was so hard that I spent my whole sundays at school. When I was in my first year, the squads are so great; we got pure talents such as Adin and Chiang in horn line. Then we got Ginanjar and Rifky on melo. But the next year, when they retired, it seemed that the next generation never leveled their abilities. I was supposed to be in Adin or Chiang&#8217;s position, but I just couldn&#8217;t play it well. Luckily we had Anita, so trumpet 1 was saved.<br />
<span id="more-1633"></span><br />
<img src="http://4.bp.blogspot.com/_wPkokODIrQ0/TVKF-5eM0cI/AAAAAAAAACo/bJrDWBh6uZM/s200/Marching_Band_trumpet98_3.jpg" alt="marching band" /><br />
I kept practicing until I got a serious illness because I was too tired after joining the training center and performed in an event. I spent 10 days bedresting, and after that, I left marching band.</p>
<p>Two songs I remembered were Aztec Fire and Firebird. These are very good songs, you can listen to it via youtube videos below. Enjoy!</p>
<p>Aztec Fire<br />
<iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/Jj6uoedTO6s" frameborder="0" allowfullscreen></iframe></p>
<p>Firebird<br />
<iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/wYWY7UKoaIk" frameborder="0" allowfullscreen></iframe></p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/gtQ9oYt1_m0" frameborder="0" allowfullscreen></iframe></p>
<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=290579107645395&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dimaz.web.id/musik/ex-marching-band-guy/" layout="standard" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_comments_plugin"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=290579107645395&amp;xfbml=1" type="text/javascript"></script>
<fb:comments num_posts="2" width="450" colorscheme="light" href="http://dimaz.web.id/musik/ex-marching-band-guy/"></fb:comments></div>]]></content:encoded>
			<wfw:commentRss>http://dimaz.web.id/musik/ex-marching-band-guy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firebird : Date Functions</title>
		<link>http://dimaz.web.id/computer/programming/basis-data-programming-computer/firebird-date-functions/</link>
		<comments>http://dimaz.web.id/computer/programming/basis-data-programming-computer/firebird-date-functions/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 02:22:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Basis Data]]></category>
		<category><![CDATA[Catatan Dimaz]]></category>
		<category><![CDATA[firebird]]></category>
		<category><![CDATA[freeudflib]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[tanggal]]></category>
		<category><![CDATA[UDF]]></category>

		<guid isPermaLink="false">http://dim.tlogosari.net/?p=571</guid>
		<description><![CDATA[Firebird sudah jadi favoritku untuk kategori database, dan makin jadi kesukaan karena terdapat fasilitas penambahan fungsi-fungsi eksternal. Terkadang dalam stored procedure kita harus mencari tanggal beberapa tahun ke depan, atau mencari selisih bulan antara 2 tanggal. Walaupun terlihat sepele, pekerjaan tersebut sulit dilakukan. Tetapi menggunakan library tambahan FreeUDFLib, aritmatika tanggal jadi sangat mudah.]]></description>
			<content:encoded><![CDATA[<p>Firebird sudah jadi favoritku untuk kategori database, dan makin jadi kesukaan karena terdapat fasilitas penambahan fungsi-fungsi eksternal.</p>
<p>Terkadang dalam <em>stored procedure</em> kita harus mencari tanggal beberapa tahun ke depan, atau mencari selisih bulan antara 2 tanggal. Walaupun terlihat sepele, pekerjaan tersebut sulit dilakukan. Tetapi menggunakan library tambahan <a href="http://www.ibexpert.com/download/udf/freeudflib.zip" target="_blank">FreeUDFLib</a>, aritmatika tanggal jadi sangat mudah.</p>
<div class="al2fb_like_button"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=290579107645395&amp;xfbml=1" type="text/javascript"></script>
<fb:like href="http://dimaz.web.id/computer/programming/basis-data-programming-computer/firebird-date-functions/" layout="standard" show_faces="true" width="450" action="like" font="arial" colorscheme="light" ref="AL2FB"></fb:like></div><div class="al2fb_comments_plugin"><div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=290579107645395&amp;xfbml=1" type="text/javascript"></script>
<fb:comments num_posts="2" width="450" colorscheme="light" href="http://dimaz.web.id/computer/programming/basis-data-programming-computer/firebird-date-functions/"></fb:comments></div>]]></content:encoded>
			<wfw:commentRss>http://dimaz.web.id/computer/programming/basis-data-programming-computer/firebird-date-functions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

