Podemos exportar datos con Oracle utilizando esta secuancia de comandos; solo debes reemplazar los valores user, passwd, owner, file y log.
En este caso solo estamos exportando los objetos de un esquema en particular (owner).
exp user/passwd@sid owner=esquema file=nombre_archivo.dmp log=arch_log.log
Más info aquí: http://www.oracle-dba-online.com/export_and_import.htm
Blog sobre programación Java, Android, Python y Ruby/Rails. Apuntes de Oracle, MySQL, PostgreSQL, SQLite y algo más ...
jueves, 8 de noviembre de 2012
jueves, 21 de junio de 2012
Llamando Java desde C en Unix
Intente varias formas, al final me incline por hacer un script de UNIX y que este contenga la serie de configuraciones que requiere mi programa Java, desde un programa en C, llamaremos al Scritp y este llamará al porgrama Java.
public class Hola
{
public static void main(String []args)
{
System.out.println("I'm saying Helloooo!!!");
}
}
Paso 2: Crear un Script (lo llamaremos "exe")
url=`which java`
$url Hola > salida
if [ $? -eq 0 ]
then
echo 'El programa se ejecuto...'
else
echo 'El programa no se ejecuto'
fi
more salida
Guardar (le puse "exe") y darle sus respectivos permisos de ejecucion (chmod +x exe)
Paso 3: Crear el programa en C
#include <stdlib.h>
int main(void)
{
int result;
result = system("exe");
}
Como vemos el programa en C ejecuta (con la funcion system ) el script exe, que es quien configura todo para que se ejecute nuestro programa java.
Salida:
userhome/user/ejemplo> a.out
El programa se ejecuto...
I'm saying Helloooo!!!
userhome/user/ejemplo>
Paso 1: Crear una clase
{
public static void main(String []args)
{
System.out.println("I'm saying Helloooo!!!");
}
}
Paso 2: Crear un Script (lo llamaremos "exe")
url=`which java`
$url Hola > salida
if [ $? -eq 0 ]
then
echo 'El programa se ejecuto...'
else
echo 'El programa no se ejecuto'
fi
more salida
Guardar (le puse "exe") y darle sus respectivos permisos de ejecucion (chmod +x exe)
Paso 3: Crear el programa en C
#include <stdlib.h>
int main(void)
{
int result;
result = system("exe");
}
Como vemos el programa en C ejecuta (con la funcion system ) el script exe, que es quien configura todo para que se ejecute nuestro programa java.
Compilar el java: javac Hola.java
Compilar el C: cc callJava.c (o el nombre que ustedes le pongan)
Salida:
userhome/user/ejemplo> a.out
El programa se ejecuto...
I'm saying Helloooo!!!
userhome/user/ejemplo>
martes, 10 de abril de 2012
ORA-01843: not a valid month
Si lo has intentado todo y nada te funciona, si revisas y revisas y todo esta bien... haz esto:
vete al regedit, en Software busca ORACLE, estando allí dale click a KEY_XE y según tu caso editaras el campo NLS_LANG.
Mi error se daba por esto:
TO_DATE('1-Dec-2011 00:00:00','DD-MON-YYYY HH24:MI:SS')
Oracle no entendia el Dec (es que el mio no es gringo), el entiende Dic.
Puesto que en esa clave tenia este valor:
LATIN AMERICAN SPANISH_PANAMA.WE8MSWIN1252.
Para americanizarlo coloca en NLS_LANG esto:
AMERICAN_AMERICA.WE8ISO8859P1
y listo!
vete al regedit, en Software busca ORACLE, estando allí dale click a KEY_XE y según tu caso editaras el campo NLS_LANG.
Mi error se daba por esto:
TO_DATE('1-Dec-2011 00:00:00','DD-MON-YYYY HH24:MI:SS')
Oracle no entendia el Dec (es que el mio no es gringo), el entiende Dic.
Puesto que en esa clave tenia este valor:
LATIN AMERICAN SPANISH_PANAMA.WE8MSWIN1252.
Para americanizarlo coloca en NLS_LANG esto:
AMERICAN_AMERICA.WE8ISO8859P1
y listo!
Crear PDF con Java, Netbeans y iText
Atención: Estoy suponiendo que tienes un conocimiento medio de Java y que usas fluidamente Netbeans. Gracias.
En un par de pasos vamos a crear un archivo PDF en JAVA
Materiales:
1. Libreria iText (http://sourceforge.net/projects/itext/files/iText/iText5.2.0/)
Para este ejemplo use la version 5.2.0
2. Una pequeña imagen
Para este ejemplo use una imagen en formato PNG, puede ser cualquiera
Deberás añadir las librerías de iText a tu proyecto, para que puedas hacer uso de las clase que se detallan aquí.
Teniendo todo esto vamos a crear nuestro archivo.
Vamos a crear una clase con cualquier nombre, en mi caso yo le pondré CreatePDF y dentro de ella voy a crear un método llamado writePDF. Tambien vamos
a colocarle un método main, el esqueleto quedaria así.
public class CreatePDF
{
public void writePDF()
{...}
public static void main(String args[])
{
new CreatePDF().writePDF();
}
}
Luego de esto lo primero que debemos hacer es importar los Objetos que vamos a utilizar, para nuestro básico ejemplo solo debemos añadir los
siguientes
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
public class CreatePDF ...
Ahora bien dentro del método writePDF() irá toda nuestra lógica para crear nuestro documento, vamos primero a crear un bloque try/catch y dentro de
él colocaremos las siguientes líneas; las cuales iré explicando paso a paso.
Document document = new Document(PageSize.LETTER, 80, 80, 50, 50);
FileOutputStream salida = new FileOutputStream("archivo.pdf");
PdfWriter writer = PdfWriter.getInstance(document, salida);
writer.setInitialLeading(0);
Como todo en Java debemos tener una instancia de un objeto antes de trabajar con el, por eso debemos tener una referencia a un objeto de tipo
Document que es quien representa nuestra hoja en blanco para escribir. Con el atributo PageSize.LETTER lo que le estamos indicando es que el
documento tendrá las dimesiones de un archivo en formato CARTA (si tambien hay para los demas estandares, investígalos), acompañando lo antes mencionado
esta el valor de los margenes de nuestro documento (margenIzq, margenDer, margenArriba, margenAbajo), pueden ser los valores que gustes compañero.
Con la línea del FileOutputStream únicamente estamos creando físicamente nuestro archivo en disco, allí iran todos nuestros cambios al documento.
Luego necesitamos tener una instancia de quien escribira nuestros cambios y darle su punto de inicio para que pueda escribir, (writer.setInitialLeading(0);).
Hecho todo esto solo nos queda ir "escribiendo" dentro de nuestro papel en blanco que ya hemos preparado, vamos a añadir dos párrafos sencillos juntos a
una imagen.
Paragraph paragraph = new Paragraph();
paragraph.add("Primera linea del documento");
paragraph.setAlignment(Paragraph.ALIGN_CENTER);
Para escribir texto usamos la clase Paragraph, como ves tiene un metodo add en el que puedes escribir lo que desees...
esta clase tiene muchos métodos interesantes, como el que vemos aquí paragraph.setAlignment(Paragraph.ALIGN_CENTER) que como lo
adivinaste es para alinear en donde queramos.
Image image = Image.getInstance("imagen.png");
image.scaleToFit(150, 150);
image.setAlignment(Chunk.ALIGN_CENTER);
Para colocar imégenes debemos instanciar un objeto de tipo Image, darle la ubicacion de nuestra imagen al constructor, darle el tamaño que
gustemos y alinearla.
Paragraph paragraph_2 = new Paragraph();
paragraph_2.setFont(new Font(FontFactory.getFont("Courier", 12, Font.BOLD, BaseColor.ORANGE)));
paragraph_2.add("Ultima linea del documento");
paragraph_2.setAlignment(Paragraph.ALIGN_LEFT);
En este parrafo lo unico que hemos hecho diferente es darle una fuente y color especifico a nuestro texto, hay otras formas de hacerlo
incluso si tienes fuentes extrañas instaladas en su carpeta Fonts de Windows puedes crear una nueva fuente a partir de esa, ya que por lo
general las fuentes "extrañas" no las reconoce, hagan la prueba y me comentan (si si si, tengo la solución si les llega a pasar..)
Antes de añadir todo nuestro contenido debemos abrir el documento para poder usarlo:
document.open();
luego ir añadiendo en el orden en que queremos que aparezcan todos los checheres que hemos creado
document.add(paragraph);
document.add(image);
document.add(paragraph_2);
y por logica... si abres algo, cierralo.
document.close();
Eso es todo! Luego de que lo corras deberás tener en tu carpeta de proyecto tu archivo PDF.
Saludos, para dudas a la orden!!!
En un par de pasos vamos a crear un archivo PDF en JAVA
Materiales:
1. Libreria iText (http://sourceforge.net/projects/itext/files/iText/iText5.2.0/)
Para este ejemplo use la version 5.2.0
2. Una pequeña imagen
Para este ejemplo use una imagen en formato PNG, puede ser cualquiera
Deberás añadir las librerías de iText a tu proyecto, para que puedas hacer uso de las clase que se detallan aquí.
Teniendo todo esto vamos a crear nuestro archivo.
Vamos a crear una clase con cualquier nombre, en mi caso yo le pondré CreatePDF y dentro de ella voy a crear un método llamado writePDF. Tambien vamos
a colocarle un método main, el esqueleto quedaria así.
public class CreatePDF
{
public void writePDF()
{...}
public static void main(String args[])
{
new CreatePDF().writePDF();
}
}
Luego de esto lo primero que debemos hacer es importar los Objetos que vamos a utilizar, para nuestro básico ejemplo solo debemos añadir los
siguientes
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
public class CreatePDF ...
Ahora bien dentro del método writePDF() irá toda nuestra lógica para crear nuestro documento, vamos primero a crear un bloque try/catch y dentro de
él colocaremos las siguientes líneas; las cuales iré explicando paso a paso.
Document document = new Document(PageSize.LETTER, 80, 80, 50, 50);
FileOutputStream salida = new FileOutputStream("archivo.pdf");
PdfWriter writer = PdfWriter.getInstance(document, salida);
writer.setInitialLeading(0);
Como todo en Java debemos tener una instancia de un objeto antes de trabajar con el, por eso debemos tener una referencia a un objeto de tipo
Document que es quien representa nuestra hoja en blanco para escribir. Con el atributo PageSize.LETTER lo que le estamos indicando es que el
documento tendrá las dimesiones de un archivo en formato CARTA (si tambien hay para los demas estandares, investígalos), acompañando lo antes mencionado
esta el valor de los margenes de nuestro documento (margenIzq, margenDer, margenArriba, margenAbajo), pueden ser los valores que gustes compañero.
Con la línea del FileOutputStream únicamente estamos creando físicamente nuestro archivo en disco, allí iran todos nuestros cambios al documento.
Luego necesitamos tener una instancia de quien escribira nuestros cambios y darle su punto de inicio para que pueda escribir, (writer.setInitialLeading(0);).
Hecho todo esto solo nos queda ir "escribiendo" dentro de nuestro papel en blanco que ya hemos preparado, vamos a añadir dos párrafos sencillos juntos a
una imagen.
Paragraph paragraph = new Paragraph();
paragraph.add("Primera linea del documento");
paragraph.setAlignment(Paragraph.ALIGN_CENTER);
Para escribir texto usamos la clase Paragraph, como ves tiene un metodo add en el que puedes escribir lo que desees...
esta clase tiene muchos métodos interesantes, como el que vemos aquí paragraph.setAlignment(Paragraph.ALIGN_CENTER) que como lo
adivinaste es para alinear en donde queramos.
Image image = Image.getInstance("imagen.png");
image.scaleToFit(150, 150);
image.setAlignment(Chunk.ALIGN_CENTER);
Para colocar imégenes debemos instanciar un objeto de tipo Image, darle la ubicacion de nuestra imagen al constructor, darle el tamaño que
gustemos y alinearla.
Paragraph paragraph_2 = new Paragraph();
paragraph_2.setFont(new Font(FontFactory.getFont("Courier", 12, Font.BOLD, BaseColor.ORANGE)));
paragraph_2.add("Ultima linea del documento");
paragraph_2.setAlignment(Paragraph.ALIGN_LEFT);
En este parrafo lo unico que hemos hecho diferente es darle una fuente y color especifico a nuestro texto, hay otras formas de hacerlo
incluso si tienes fuentes extrañas instaladas en su carpeta Fonts de Windows puedes crear una nueva fuente a partir de esa, ya que por lo
general las fuentes "extrañas" no las reconoce, hagan la prueba y me comentan (si si si, tengo la solución si les llega a pasar..)
Antes de añadir todo nuestro contenido debemos abrir el documento para poder usarlo:
document.open();
luego ir añadiendo en el orden en que queremos que aparezcan todos los checheres que hemos creado
document.add(paragraph);
document.add(image);
document.add(paragraph_2);
y por logica... si abres algo, cierralo.
document.close();
Eso es todo! Luego de que lo corras deberás tener en tu carpeta de proyecto tu archivo PDF.
Saludos, para dudas a la orden!!!
sábado, 24 de marzo de 2012
PLSQL SELECT INSERT
Hace algunos días tuve un apuro y me solicitaron crear un codigo en PLSQL para seleccionar datos de varias tablas y sintetizarlos (insertarlos) en otra.
Les muestro lo que me saco del apuro, saludos!
Y si hay alguna duda... pues a la orden!
Declare
Cursor NOMBRE_CURSOR Is
Select
SCAMPO_1, SCAMPO_2, SCAMPO_3
From TABLA
Where ... SI LO NECESITAN
And ... SI LO NECESITAN
.... MAS VALIDACIONES
CUALQUIER_NOMBRE NOMBRE_CURSOR%Rowtype;
Begin
For CUALQUIER_NOMBRE In NOMBRE_CURSOR
Loop
Insert Into TABLA_DESTINO (CAMPO_1, CAMPO_2, CAMPO_3 ...) Values
(CUALQUIER_NOMBRE.SCAMPO_1 , CUALQUIER_NOMBRE.SCAMPO_2, CUALQUIER_NOMBRE.SCAMPO_3 ...);
End Loop;
End;
Cursor NOMBRE_CURSOR Is
Select
SCAMPO_1, SCAMPO_2, SCAMPO_3
From TABLA
Where ... SI LO NECESITAN
And ... SI LO NECESITAN
.... MAS VALIDACIONES
CUALQUIER_NOMBRE NOMBRE_CURSOR%Rowtype;
Begin
For CUALQUIER_NOMBRE In NOMBRE_CURSOR
Loop
Insert Into TABLA_DESTINO (CAMPO_1, CAMPO_2, CAMPO_3 ...) Values
(CUALQUIER_NOMBRE.SCAMPO_1 , CUALQUIER_NOMBRE.SCAMPO_2, CUALQUIER_NOMBRE.SCAMPO_3 ...);
End Loop;
End;
Suscribirse a:
Entradas (Atom)