Category Archives: programación

Apache Derby en Ubuntu!

Derby es un producto de Apache DB Project y desde la versión 6 de Java viene incluida en el JDK.

Se trata de una base de datos relacional y transaccional que ocupa muy poco espacio en disco y tiene una necesidad mínima de administración. Además soporta el almacenamiento de una base de datos archivada en un archivo JAR, lo que permite distribuir simplemente el archivo JAR.

Para probarlo en ubuntu, primero hay que instalar el jdk

sudo apt-get install sun-java6-jdk sun-java6-javadb

Después hay que configurar las variables de entorno


export JAVA_HOME=/usr/lib/jvm/java-6-sun/
export PATH=$JAVA_HOME/bin:$PATH
export DERBY_HOME=/usr/lib/jvm/java-6-sun/db
cd /usr/lib/jvm/java-6-sun/db/bin
./setEmbeddedCP
export CLASSPATH=$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar:.

Y ya podemos probar a conectarnos a una bd de ejemplo con:

java org.apache.derby.tools.ij
ij> connect 'jdbc:derby:/usr/lib/jvm/java-6-sun/db/demo/databases/toursdb';
ij> select * from countries;

Ahora probamos a crear nuestra propia bd (se crea en el dir desde el que se lanza ij)

java org.apache.derby.tools.ij
ij> connect 'jdbc:derby:DerbyTestDB;create=true';
ij> create table personas(nombre varchar(20), apellido varchar(50), apellido2 varchar(50));
ij> insert into personas values('Manolito', 'Gafotas', 'Pérez');
ij> insert into personas values('Mafalda', 'Mateo', 'González');
ij> select * from personas;
ij> disconnect;
ij> exit;

Por último podemos probar a conectarnos a la bd que hemos creado desde un programa java como el siguiente:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import java.util.Properties;

public class DerbyTestDBClient
{
public static void main (String [] args)
{
DerbyTestDBClient testClient = new DerbyTestDBClient();
testClient.showPersons();
}

public void showPersons()
{
try{
String driver = "org.apache.derby.jdbc.EmbeddedDriver";

Class.forName(driver).newInstance();
Connection conn = null;
conn = DriverManager.getConnection("jdbc:derby:DerbyTestDB");
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT nombre, apellido FROM personas");
while(rs.next())
{
System.out.println("Nombre : " + rs.getString(1));
System.out.println("Apellido : " + rs.getString(2));
System.out.println();
}
rs.close();
s.close();
conn.close();
}catch(Exception e){
System.out.println("Exception: " + e);
e.printStackTrace();
}
}
}

Actualización de phpmyadmin en Ubuntu Jaunty

Con la última actualización de mi Ubuntu a Jaunty, uno de los paquetes que se ha actualizado ha sido el de phpmyadmin.

Al intentar loguearme con el tipico root/sin passwd me daba fallo. He comprobado a conectarme a mysql desde la línea de comandos e iba bien, así que tenía que ser algo del phpmyadmin. Después de googlear un rato sin mucho exito, he encontrado la solución en el blog de mknix.

Para solucionarlo basta con añadir a /etc/phpmyadmin/config.inc.php la siguiente línea junto al resto de opciones:

$cfg['Servers'][$i]['AllowNoPasswordRoot'] = true;

Aunque esto soluciona el problema coincido con mknix en que lo mejor es que poner una contraseña al usuario root :p

Extensión dbase con PHP5 en Ubuntu de 64bits

Hoy intentando acceder a un fichero .dbf desde php he visto que hacía falta activar la extension dbase. En un principio es suficiente con poner la librería dbase.so en /usr/lib/php5/20060613/ y añadir al fichero /etc/php5/apache2/php.ini esta línea:

extension=dbase.so

El problema lo he encontrado al buscar una versión de la librería que fuese de la misma rama de php que la que yo uso, en este caso la 5.2 (PHP 5.2.3-1ubuntu6.3) y que además fuera para 64bits. Después de mucho buscar, lo he encontrado aquí.

Por si acaso lo subo también en: aquí (está renombrado con .odt porque si no, no me dejaba subir el fichero ;)).

Basta con bajarse el rpm, extraerlo y ya tenemos el dbase.so. Ahora reiniciamos apache… y ya tenemos soporte para dbase en php!!

Comunidad de Programación

Hoy me ha llegado al correo una invitación para formar parte de la comunidad de mygnet. En su web lo describen como un proyecto que consiste en lograr una comunidad ONLINE en castellano donde todos los programadores, desarrolladores, diseñadores, administradores… nos unamos para formar un equipo donde lo único que se pretende es fomentar el conocimiento.
A mi me parece una buena idea, ¿que os parece? ¿Os animais a participar en está comunidad para fomentar la LIBERTAD del conocimiento?
Yo por mi parte… ya me he apuntado!!

¡Hola Mundo! | Hello World! | Kaixo Mundua!


Cada día nos encontramos en la duda de que lenguaje de programación es mejor. Después de navegar mucho por la red en busca de cual es el mejor lenguaje, cual el más utilizado… no he sacado nada en claro.
Siempre aparecen los eternos debates de J2EE vs .NET, PHP vs ASP… pero al final depende del que nos guste más a cada uno. Yo personalmente en el primer caso me decanto por la plataforma de Sun, con alguna reticencia por tema de licencias, y en el segundo caso claramente por PHP, pero para gusto están los colores (y los lenguajes 😉 ).
Últimamente están en el candelero lenguajes como Ruby on Rails, AJAX… He de reconocer que aún no me he puesto con ninguno de ellos, pero sobre todo en el caso de AJAX (utilizado por google maps, flickr…) he visto diversos ejemplos y me ha cautivado. En cuanto tenga un poco de tiempo me quiero meter con ellos.
El otro día googleando un poco encontre una página que me llamó la atención. Tenía 433 ejemplos de código en 162 lenguajes de programación distintos. Lenguajes omnipresentes como C o JAVA conviven con algunos que parece que están cayendo un poco en el olvido como BASIC o FORTRAN, otros que están en auge como Ruby o Python e incluso con algunos que suenan tan exóticos como BrainF*ck, Dylan o Yacas.
¿Con cual os quedais vosotros?