HowTo: Trabajar con ficheros desde Oracle

Para el tratamiento de ficheros de texto desde un procedimiento de Oracle, hay que usar las funciones que proporciona el package UTL_FILE.

Más info sobre este package puede obtenerse de:
http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/u_file.htm

La relación exacta de funciones y sus parámetros puede obtenerse de:
http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/u_file2.htm#1000703

Para trabajar con ficheros, previamente se debe haber creado un «directorio». Un directorio es un objeto lógico que Oracle utiliza como intermediario entre el PL/SQL y el directorio físico.

Sólo los usuarios de sistema pueden crear directorios y conceder derechos al resto de los mortales. Por lo tanto, hay que solicitar a Centro de Información, Administrador si es el caso o sino crearlo con un usuario de sistema, la creación de dicho directorio, con sentencias como estas:

CREATE DIRECTORY DGQ_OFICINES AS ‘\\asf2\public\mi_directorio’;
GRANT READ ON DIRECTORY DGQ_OFICINES TO SIRA;
GRANT WRITE ON DIRECTORY DGQ_OFICINES TO SIRA;
(por supuesto, el usuario Oracle ha de tener acceso a dicho recurso físico, o éste debe tener acceso público)

Después, hay que usar DGQ_OFICINES, en las llamadas de las funciones (por ejemplo, en el FOPEN). Se ha de poner en mayúsculas.

Ejemplo de código que crea un fichero y escribe una línea:

procedure file_test as
ft utl_file.file_type;
begin
ft := utl_file.fopen(‘DGQ_OFICINES’,’test.txt’,’w’,500);
utl_file.put_line(ft,’hola’,false);
utl_file.fclose(ft);
end;

En este caso, este código abre un fichero (lo crea si no existe y lo machaca si existe).
FT es el handle al fichero. Se asigna con FOPEN y se usa en posteriores operaciones.

FOPEN recibe el nombre del directorio, el nombre del fichero, el modo (read, write o append), y el tamaño máximo de linea a escribir o leer del fichero.

PUT_LINE escribe un texto, añadiendo un separador de línea (hay otra función que no lo añade). Finalmente, el fichero se cierra con FCLOSE.

Poner varias páginas de inicio al Firefox

Seguro que cuando arrancas el navegador Firefox, normalmente debes visitar las mismas webs almenos al principio. Si quieres poner tus páginas preferidas para que se inicien al empezar debes hacer lo siguiente.

Para hacerlo solo debes de dejar las web que quieres abrir en diferentes pestañas y una vez que las tengas todas escogidas, seguir la siguiente ruta de opciones

Herramientas -> Preferencias -> Pgina de inicio -> Usar páginas actuales

Ya está. Es un truco bastante sencillo pero quizas le sirva de ayuda a alguien

Navega por las fotos de Badongo con esta sencilla página

Código sencillo en Javascript y Html para navegar por las fotos de badongo. Es muy sencilla, sin ningún css de estilo que lo dejo a gusto de cada uno. Solo contiene lo minimo. Para hacerla servir crear un archivo html con este código.

<html>
<head>
<meta http-equiv=»Content-Type» content=»text/html; charset=UTF-8″>

<script type=»text/javascript»>

var i;

function nextImage(){

document.getElementById(«ibadongo»).src=»http://www.badongo.com/pix/» + i;

i++;
document.getElementById(«numimage»).value = i;

}

function prevImage(){

document.getElementById(«ibadongo»).src=»http://www.badongo.com/pix/» + i;

i–;
document.getElementById(«numimage»).value = i;

}

function randomImage(){

random(3000000);
document.getElementById(«ibadongo»).src=»http://www.badongo.com/pix/» + i;
document.getElementById(«numimage»).value = i;

}

function loadPage(){

random(3000000);
document.getElementById(«ibadongo»).src=»http://www.badongo.com/pix/» + i;

document.getElementById(«numimage»).value = i;

}

function random(num){

i = Math.round(num*Math.random())

}
function nav2image(){

i=document.getElementById(«numimage»).value
document.getElementById(«ibadongo»).src=»http://www.badongo.com/pix/» + i;
document.getElementById(«numimage»).value = i;

}

</script>

</head>
<body onload=»loadPage();»>
<input id=»btn_prev» type=»button» value=»Previo» name=»btn_previo» onclick=»prevImage();» />
<input id=»btn_next» type=»button» value=»Siguiente» name=»btn_next» onclick=»nextImage();» />
<input id=»btn_random» type=»button» value=»Random» name=»btn_next» onclick=»randomImage();» />
<input type=»text» id=»numimage» name=»numimage» value=»1″ /><input type=»submit» value=»Buscar» onclick=»nav2image();» />
<br>
<iframe id=»ibadongo» width=»1024″ height=»700″ name=»ibadongo»></iframe>
</body>
</html>

Esta página esta hecha con Geany, editor de textos GNU, desde linux Ubuntu 7.10

Crear informes del sistema en formato .txt de forma fácil

Los usuarios de Linux tenemos una gran fuerte de información en los foros. La mayoría creo que los usamos con regularidad almenos para buscar información y aclarar alguna duda. Yo por mi parte los visito con frequencia y contesto siempre que puedo intentando si es el caso resolver problemas y dudas del usuario. Algunas veces la información aportada para resolver las incidéncias es escueta e insuficiente para poder resolverlo. Un forma fàcil de tener abundante información de forma fácilmente exportable es usando comandos desde el Terminal:lspci >sistema.txt

dmesg >sistema.txt

lshw >sistema.txt

lsusb>sistema.txt

Donde sistema es un nombre que hemos elegida al azar y que sera con el que se va a guardar. Por defecto en el espacio personal del usuario que con el que estemos trabajando

Lshw nos da información muy abundante del sistema y sus dispositivos. Muy útil.

Podeis encontrar más información sobre comandos de Debian en esta página.