<?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>Qbit Mexhico Blog &#187; oracle</title>
	<atom:link href="http://qbit.com.mx/blog/category/oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://qbit.com.mx/blog</link>
	<description>Lo que hacemos y pensamos se escribe aqui</description>
	<lastBuildDate>Tue, 15 May 2012 16:15:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Utilizar una clase Java en Oracle 10g</title>
		<link>http://qbit.com.mx/blog/2010/01/12/utilizar-una-clase-java-en-oracle-10g/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=utilizar-una-clase-java-en-oracle-10g</link>
		<comments>http://qbit.com.mx/blog/2010/01/12/utilizar-una-clase-java-en-oracle-10g/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 23:18:58 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://qbit.com.mx/blog/?p=160</guid>
		<description><![CDATA[Existen dos formas de subir una clase Java a un esquema. La primer forma solo implica subir el archivo .Class y la segunda sube el archivo .Java Clase Ejemplo public class MiClaseOracle{ public static String mensaje() { return &#8220;Mexico lindo y querido&#8221;; } public static void invierteNumeros(int[] primerNumero, int[] segundoNumero) { int temporal = primerNumero[0]; [...]
Entradas Relacionadas:<ol>
<li><a href='http://qbit.com.mx/blog/2012/01/24/remover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript/' rel='bookmark' title='Remover elementos repetidos de un array php ruby java c# vb javascript'>Remover elementos repetidos de un array php ruby java c# vb javascript</a></li>
<li><a href='http://qbit.com.mx/blog/2012/03/06/rsync-sobre-ssh-sin-utilizar-claves/' rel='bookmark' title='rsync sobre ssh sin utilizar claves'>rsync sobre ssh sin utilizar claves</a></li>
<li><a href='http://qbit.com.mx/blog/2012/03/15/mis-estimados-rudos-un-poco-de-java-hibernate-ytsql/' rel='bookmark' title='Mis estimados rudos. Un poco de Java, Hibernate y T-SQL'>Mis estimados rudos. Un poco de Java, Hibernate y T-SQL</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=e8c30513ee6bddd0ca43b51c56cf58cd&amp;default=http://qbit.com.mx/blog/archivos/blank_gravatar.png' alt='No Gravatar' width=40 height=40/><p>Existen dos formas de subir una clase Java a un esquema. La primer forma solo implica subir el archivo <strong>.Class </strong>y la segunda sube el archivo <strong>.Java</strong></p>
<p><strong><br />
</strong></p>
<h2><strong>Clase Ejemplo</strong></h2>
<p style="padding-left: 30px;">public class MiClaseOracle{</p>
<p style="padding-left: 60px;">public static String mensaje() {</p>
<p style="padding-left: 90px;">return &#8220;Mexico lindo y querido&#8221;;</p>
<p style="padding-left: 60px;">}</p>
<p style="padding-left: 60px;">
<p style="padding-left: 60px;">public static void invierteNumeros(int[] primerNumero, int[] segundoNumero) {</p>
<p style="padding-left: 90px;">int temporal = primerNumero[0];</p>
<p style="padding-left: 90px;">primerNumero[0] = segundoNumero[0];</p>
<p style="padding-left: 90px;">segundoNumero[0] = temporal;</p>
<p style="padding-left: 60px;">}</p>
<p style="padding-left: 30px;">}</p>
<h2><strong>Subir .Class</strong></h2>
<p>Primero se debe de revisar la versión del jdk con la que se compila y la versión del jdk que tiene la base de datos. El comando para revisar la versión es <strong>java -version</strong>. En caso de que se desee olvidar de esta ambigüedad se debe compilar utilizando el comando localizado en el directorio <strong><em>[ORAHOME]/</em>db_1/jdk/bin/</strong>.</p>
<p>Una vez generado el archivo <strong>.Class</strong> se debe de ejecutar el siguiente comando en la linea de comandos: <strong>loadjava -user <em>[usuario]</em>/<em>[contraseña]</em>@<em>[baseDatos]</em></strong> <strong><em>[NombreClase].</em>class</strong></p>
<h3><strong>Ejemplo</strong></h3>
<p style="padding-left: 30px;">loadjava  –user  miusuario/mipwd@mibase   MiClaseOracle.class</p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">
<h2><strong>Subir .Java</strong></h2>
<p>Obviamente en este caso se requiere tener el archivo <strong>.Java</strong> y ejecutar el siguiente comando en la línea de comandos: <strong>loadjava -user <em>[usuario]</em>/<em>[contraseña]</em>@<em>[baseDatos] -</em>resolve</strong> <strong><em>[NombreClase].java</em></strong></p>
<p><strong><em><br />
</em></strong></p>
<h3><strong>Ejemplo</strong></h3>
<p style="padding-left: 30px;">loadjava  –user  miusuario/mipwd@mibase -resolve MiClaseOracle.java</p>
<p>Después de haber ejecutado la anterior línea (ojo, no debe de mandar algún aviso la línea de comando) se debe de acceder a la base de datos (utilizando el mismo usuario con la que se ejecuto el comando anterior) y ejecutar el comando <strong>alter java class &#8220;<em>[NombreClase]</em>&#8220;  compile;</strong></p>
<p><strong><br />
</strong></p>
<h3><strong>Ejemplo</strong></h3>
<p>alter java class &#8221; MiClaseOracle&#8221;  compile;</p>
<h2><strong>Ejecución</strong></h2>
<p>Para poder consumir las funciones implementas en la clase <strong>MiClaseOracle</strong> se deben de crear en la base de datos una función y un procedimiento almacenado.</p>
<h3><strong>Función Mensaje</strong></h3>
<p><strong><br />
</strong></p>
<p style="padding-left: 30px;"><strong>CREATE FUNCTION</strong> mensaje <strong>RETURN VARCHAR2</strong></p>
<p style="padding-left: 60px;"><strong>AS LANGUAGE JAVA</strong></p>
<p style="padding-left: 60px;"><strong>NAME</strong> &#8216;MiClaseOracle.mensaje() return java.lang.String&#8217;;</p>
<p style="padding-left: 60px;">
<h3><strong>Procedimiento InvierteNumeros</strong></h3>
<p><strong><br />
</strong></p>
<p style="padding-left: 30px;"><strong>CREATE PROCEDURE</strong> invierteNumeros</p>
<p style="padding-left: 60px;">( primerNumero <strong>IN OUT NUMBER</strong></p>
<p style="padding-left: 60px;">, segundoNumero <strong>IN OUT NUMBER</strong></p>
<p style="padding-left: 60px;"><strong>) AS  LANGUAGE JAVA</strong></p>
<p style="padding-left: 60px;"><strong>NAME</strong> &#8216;MiClaseOracle.invierteNumeros(int[], int[])&#8217;;</p>
<p style="padding-left: 60px;">
<p style="padding-left: 60px;">
<h2><strong>Consumo</strong></h2>
<p>Para verificar la funcionalidad de lo que hemos venido haciendo es necesario escribir y ejecutar el siguiente PL</p>
<p style="padding-left: 30px;"><strong>DECLARE</strong></p>
<p style="padding-left: 60px;">mensajerecibido <strong>VARCHAR2(200);</strong></p>
<p style="padding-left: 60px;">primerNumero <strong>NUMBER;</strong></p>
<p style="padding-left: 60px;">segundoNumero <strong>NUMBER;</strong></p>
<p style="padding-left: 30px;"><strong>BEGIN</strong></p>
<p style="padding-left: 60px;">primerNumero := 1;</p>
<p style="padding-left: 60px;">segundoNumero := 9;</p>
<p style="padding-left: 60px;">invierteNumeros(primerNumero,segundoNumero);</p>
<p style="padding-left: 60px;">mensajerecibido := mensaje();</p>
<p style="padding-left: 60px;"><strong>DBMS_OUTPUT.PUT_LINE</strong>(&#8216;Primer = &#8216; || primerNumero || &#8216; &#8212; Segundo = &#8216; || segundoNumero );</p>
<p style="padding-left: 60px;"><strong>DBMS_OUTPUT.PUT_LINE</strong>(&#8216;Mensaje = &#8216; || mensajerecibido);</p>
<p style="padding-left: 30px;"><strong>END;</strong></p>
<p style="padding-left: 30px;"><strong><br />
</strong></p>
<p>Twiter <a href="http://twitter.com/QBit_Mike">@QBit_Mike</a></p>
<h2>Compartir y Disfrutar</h2>

<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 32px">
<ul class="wp-socializer-opacity columns-no">
 <li><a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2010%2F01%2F12%2Futilizar-una-clase-java-en-oracle-10g%2F&amp;t=Utilizar+una+clase+Java+en+Oracle+10g" title="Share this on Facebook" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Facebook" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -330px; border:0;"/></a></li> 

 <li><a href="http://twitter.com/home?status=Utilizar+una+clase+Java+en+Oracle+10g%20-%20http%3A%2F%2Fqbit.com.mx%2Fblog%3Fp%3D160%20@QbitMexhico" title="Tweet this !" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Twitter" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -1386px; border:0;"/></a></li> 

 <li><a href="http://delicious.com/post?url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2010%2F01%2F12%2Futilizar-una-clase-java-en-oracle-10g%2F&amp;title=Utilizar+una+clase+Java+en+Oracle+10g&amp;notes=Existen+dos+formas+de+subir+una+clase+Java+a+un+esquema.+La+primer+forma+solo+implica+subir+el+archivo+.Class+y+la+segunda+sube+el+archivo+.Java%0D%0A%0D%0A%0D%0A%0D%0AClase+Ejemplo%0D%0Apublic+class+MiClaseOracle%7B%0D%0Apublic+static+String+mensaje%28%29+%7B%0D%0Areturn+%22Mexico+lindo" title="Post this on Delicious" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Delicious" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -132px; border:0;"/></a></li> 

 <li><a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2010%2F01%2F12%2Futilizar-una-clase-java-en-oracle-10g%2F&amp;title=Utilizar+una+clase+Java+en+Oracle+10g&amp;bodytext=Existen+dos+formas+de+subir+una+clase+Java+a+un+esquema.+La+primer+forma+solo+implica+subir+el+archivo+.Class+y+la+segunda+sube+el+archivo+.Java%0D%0A%0D%0A%0D%0A%0D%0AClase+Ejemplo%0D%0Apublic+class+MiClaseOracle%7B%0D%0Apublic+static+String+mensaje%28%29+%7B%0D%0Areturn+%22Mexico+lindo" title="Submit this to Digg" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Digg" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -231px; border:0;"/></a></li> 

 <li><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2010%2F01%2F12%2Futilizar-una-clase-java-en-oracle-10g%2F&amp;title=Utilizar+una+clase+Java+en+Oracle+10g" title="Submit this to StumbleUpon" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="StumbleUpon" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -1287px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
<p>Entradas Relacionadas:<ol>
<li><a href='http://qbit.com.mx/blog/2012/01/24/remover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript/' rel='bookmark' title='Remover elementos repetidos de un array php ruby java c# vb javascript'>Remover elementos repetidos de un array php ruby java c# vb javascript</a></li>
<li><a href='http://qbit.com.mx/blog/2012/03/06/rsync-sobre-ssh-sin-utilizar-claves/' rel='bookmark' title='rsync sobre ssh sin utilizar claves'>rsync sobre ssh sin utilizar claves</a></li>
<li><a href='http://qbit.com.mx/blog/2012/03/15/mis-estimados-rudos-un-poco-de-java-hibernate-ytsql/' rel='bookmark' title='Mis estimados rudos. Un poco de Java, Hibernate y T-SQL'>Mis estimados rudos. Un poco de Java, Hibernate y T-SQL</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://qbit.com.mx/blog/2010/01/12/utilizar-una-clase-java-en-oracle-10g/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

