<?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>Neuronworks Blog, WebMethods, Oracle, Bea, Java Dev2Dev,   Arch2Arch   Neuronworks Make IT Easy, Let&#039;s Play the Game &#187; Java</title>
	<atom:link href="http://blog.neuronworks.net/category/ict/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.neuronworks.net</link>
	<description></description>
	<lastBuildDate>Tue, 01 Jun 2010 02:40:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Create MD5 function di Oracle</title>
		<link>http://blog.neuronworks.net/2009/01/23/create-md5-function-di-oracle/</link>
		<comments>http://blog.neuronworks.net/2009/01/23/create-md5-function-di-oracle/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 09:38:30 +0000</pubDate>
		<dc:creator>gatotkaca</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[md5]]></category>

		<guid isPermaLink="false">http://blog.neuronworks.net/?p=106</guid>
		<description><![CDATA[Suatu ketika saya ada keperluan menggunakan fungsi MD5 di oracle. karena mencari-cari fungsi built in di oracle tidak ketemu, atau mungkin tidak ada akhirnya saya memutuskan untuk membuat Java Store Procedure. Untuk mempelajari lebih detail langkah-langkah membuat java store procedure anda bisa melihat postingan sebelumnya Java Store Procedure .
Langkah pertama membuat fungsi md5 di java

import [...]]]></description>
			<content:encoded><![CDATA[<p>Suatu ketika saya ada keperluan menggunakan fungsi MD5 di oracle. karena mencari-cari fungsi built in di oracle tidak ketemu, atau mungkin tidak ada akhirnya saya memutuskan untuk membuat Java Store Procedure. Untuk mempelajari lebih detail langkah-langkah membuat java store procedure anda bisa melihat postingan sebelumnya <a href="http://blog.neuronworks.net/2009/01/23/java-store-procedure/">Java Store Procedure </a>.</p>
<p>Langkah pertama membuat fungsi md5 di java</p>

<div class="wp_syntax"><div class="code"><pre class="java java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.security.MessageDigest</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MD5 <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> getMD5<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> message<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003399;">MessageDigest</span> md <span style="color: #339933;">=</span> <span style="color: #003399;">MessageDigest</span>.<span style="color: #006633;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;MD5&quot;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #003399;">String</span> md5string<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&quot;</span>;
            <span style="color: #003399;">StringBuffer</span> sb <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">StringBuffer</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #000066; font-weight: bold;">byte</span> buf<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> message.<span style="color: #006633;">getBytes</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> md5 <span style="color: #339933;">=</span> md.<span style="color: #006633;">digest</span><span style="color: #009900;">&#40;</span>buf<span style="color: #009900;">&#41;</span>;
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>message<span style="color: #009900;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span> <span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> 0 ; i <span style="color: #339933;">&amp;</span>lt; md5.<span style="color: #006633;">length</span> ; i<span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">String</span> tmpStr <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;0&quot;</span><span style="color: #339933;">+</span><span style="color: #003399;">Integer</span>.<span style="color: #006633;">toHexString</span><span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>0xff <span style="color: #339933;">&amp;</span>amp; md5<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
                sb.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>tmpStr.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span>tmpStr.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #009900;">&#125;</span>
            md5string <span style="color: #339933;">=</span> sb.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #009900;">&#40;</span>md5string<span style="color: #009900;">&#41;</span>;
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;0&quot;</span>;
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Kemudian kita compile</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#javac MD5.java</span></pre></div></div>

<p>Jika tidak ada error akan menghasilkan MD5.class, kemudian kit aload ke oracle</p>

<div class="wp_syntax"><div class="code"><pre class="oracle" style="font-family:monospace;"> loadjava -resolve -user scott/tiger MD5.class</pre></div></div>

<p>Publish fungsi Java Store Procedure dengan membuat interface di oracle :</p>

<div class="wp_syntax"><div class="code"><pre class="oracle" style="font-family:monospace;">CREATE OR REPLACE FUNCTION GetMD5(str in varchar) RETURN VARCHAR2
as LANGUAGE JAVA
NAME 'MD5.getMD5(java.lang.String) return java.lang.String';</pre></div></div>

<p>kemudian kita coba</p>

<div class="wp_syntax"><div class="code"><pre class="oracle" style="font-family:monospace;">select GetMD5('gatotkaca') from dual;
&nbsp;
GETMD5('gatotkaca')
============================
4495ca9b8bb44554754c5ed33a33fef9</pre></div></div>

<p>selamat mencoba !!!</p>
<p>semua script yang ada pada halaman ini bisa anda download di <a title="NeuronCode" href="http://code.neuronworks.net" target="_blank">sini</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.neuronworks.net/2009/01/23/create-md5-function-di-oracle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java Store Procedure</title>
		<link>http://blog.neuronworks.net/2009/01/23/java-store-procedure/</link>
		<comments>http://blog.neuronworks.net/2009/01/23/java-store-procedure/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 09:22:27 +0000</pubDate>
		<dc:creator>gatotkaca</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[store Procedure]]></category>

		<guid isPermaLink="false">http://blog.neuronworks.net/?p=108</guid>
		<description><![CDATA[Mulai dari Oracle versi 8i oracle menyediakan membuat Java Store Procedure didalam database. Java Store Procedure biasa digunakan untuk membangung fungsi-fungsi yang tidak disediakan di oracle atau utilitas yang mungkin lebih efisien dan mudah dikerjakan menggunakan pemrograman Java. Untuk mengetahui apakah database kita sudah bisa kita gunakan untuk membuat Java Store Procedure kita bis amengecek [...]]]></description>
			<content:encoded><![CDATA[<p>Mulai dari Oracle versi 8i oracle menyediakan membuat Java Store Procedure didalam database. Java Store Procedure biasa digunakan untuk membangung fungsi-fungsi yang tidak disediakan di oracle atau utilitas yang mungkin lebih efisien dan mudah dikerjakan menggunakan pemrograman Java. Untuk mengetahui apakah database kita sudah bisa kita gunakan untuk membuat Java Store Procedure kita bis amengecek dengan sintak sebagai berikut :</p>

<div class="wp_syntax"><div class="code"><pre class="oracle" style="font-family:monospace;"> SQL&gt; describe dbms_java</pre></div></div>

<p>jika perintah diatas memberikan pesan error seperti :</p>

<div class="wp_syntax"><div class="code"><pre class="oracle" style="font-family:monospace;">ERROR:
  ORA-04043: object dbms_java does not exist</pre></div></div>

<p>artinya Package DBMS_JAVA belum terinstall di database kita, solusinya kita harus menginstall package tersebut yang sudah disediakan oleh oracle</p>

<div class="wp_syntax"><div class="code"><pre class="oracle" style="font-family:monospace;">#sqlplus / as sysdba
SQL&gt;  
   @$ORACLE_HOME/javavm/install/initjvm.sql;
   @$ORACLE_HOME/xdk/admin/initxml.sql;
   @$ORACLE_HOME/xdk/admin/xmlja.sql;
   @$ORACLE_HOME/javavm/install/init_jis.sql $ORACLE_HOME;
   @$ORACLE_HOME/javavm/install/jisaephc.sql $ORACLE_HOME;
   @$ORACLE_HOME/javavm/install/jisja.sql $ORACLE_HOME;
   @$ORACLE_HOME/javavm/install/jisdr.sql 2481 2482;
   @$ORACLE_HOME/jsp/install/initjsp.sql;
   @$ORACLE_HOME/jsp/install/jspja.sql;
   @$ORACLE_HOME/rdbms/admin/initjms.sql;
   @$ORACLE_HOME/rdbms/admin/initrapi.sql;
   @$ORACLE_HOME/rdbms/admin/initsoxx.sql;
   @$ORACLE_HOME/rdbms/admin/initapcx.sql;
   @$ORACLE_HOME/rdbms/admin/initcdc.sql;
   @$ORACLE_HOME/rdbms/admin/initqsma.sql;
   @$ORACLE_HOME/rdbms/admin/initsjty.sql;
   @$ORACLE_HOME/rdbms/admin/initaqhp.sql;</pre></div></div>

<p>Jika semua environment sudah terinstall dan siap kita akan membuat Java Store Procedure, berikut langkah-langkahnya :</p>
<ol>
<li>Membuat Java Class</li>
<p>  Kita ingin membuat fungsi Hello World</p>

<div class="wp_syntax"><div class="code"><pre class="java java" style="font-family:monospace;">        <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> PrintHello<span style="color: #009900;">&#123;</span>
              <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> Print<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> name<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                      <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;Hello My Name &quot;</span><span style="color: #339933;">+</span>name;
             <span style="color: #009900;">&#125;</span>
       <span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>pre <span style="color: #339933;">&gt;</span> 
&nbsp;
Compile Script diatas 
&nbsp;
<span style="color: #339933;">&lt;</span>pre lang<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;java&quot;</span><span style="color: #339933;">&gt;</span>
javac PrintHello.<span style="color: #006633;">java</span>
<span style="color: #339933;">&lt;/</span>pre <span style="color: #339933;">&gt;</span>
&nbsp;
        <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;</span>Load dan Resolve Java <span style="color: #000000; font-weight: bold;">Class</span> ke Oracle<span style="color: #339933;">&lt;/</span>li<span style="color: #339933;">&gt;</span>
   Java <span style="color: #000000; font-weight: bold;">class</span> sudah berhasil dihasilkan akan kia load masuk ke database dengan menggunakan utilitas yang sudah disediakan oleh oracle yaitu loadjava     
<span style="color: #339933;">&lt;</span>pre lang<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;bash&quot;</span><span style="color: #339933;">&gt;</span>
# loadjava
loadjava<span style="color: #339933;">:</span> Usage<span style="color: #339933;">:</span> loadjava <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>definer<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>encoding encoding<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>force<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>genmissing<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>genmissingjar jar<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>grant grants<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>help<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>nousage<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>noverify<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>oci8<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>order<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>resolve<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>resolver resolver<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>schema schema<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>synonym<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>thin<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>tableschema schema<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>user user<span style="color: #339933;">/</span>password@database<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">-</span>verbose<span style="color: #009900;">&#93;</span> classes..<span style="color: #006633;">jars</span>..<span style="color: #006633;">resources</span>..<span style="color: #006633;">properties</span>...</pre></div></div>

<p>Untuk kasus diatas kita gunakan option sederhana seperti berikut : </p>
<pre lang="bash">
loadjava -user scott/tiger PrintHello.class
</pre >
<li>Publish Java Class</li>
<p>untuk setiap java class kita harus membuatkan fungsi atau procedure sesuai dengan definisi java class.</p>
<pre lang="oracle">
SQL><br />
CREATE OR REPLACE FUNCTION PrintHello(name in varchar2) RETURN VARCHAR2<br />
as LANGUAGE JAVA<br />
NAME 'PrintHello.Print(java.lang.String) return java.lang.String';</p>
</pre >
<li>Panggil Store Procedure</li>
<p>Kita coba panggil hasil fungsi di oracle</p>
<pre lang="bash">
SQL> select PrintHello('Gatotkaca') from dual;
</pre >
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.neuronworks.net/2009/01/23/java-store-procedure/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
