Cómo utilizar procedimientos almacenados de Java en Oracle
1. Utilice la instrucción SQL de Oracle para crear:
Por ejemplo, utilice crear o reemplazar y compile el programa denominado "
seguido del programa fuente de Java. ¿El método de clase requerido debe ser estático público?
¿Reemplazar java?p>as?
Importar?Java.SQL.*;
¿Público?JavaDemo1 p>
¿Público? ¿Invalidado? main(String[]?argv)
{
System.out.println("Hola, java? demostración 1"); p>
}
/
¿Java?
¿Error?
¿Reemplazo de SQL?
¿Idioma? Demostración de Java 1 . main(Java . lang . string[])';
/
Proceso creado
Salida del servidor SQL. ? ¿Abrir?
SQL gt? Demostración de Java 1();
SQL gt_output(5000);
Llamada completa.
SQL gt? Demostración de Java 1();
Hola demo1 p>
Llamada completada
Demostración de SQL gt 1();
¿Hola? java demo1
Llamada completada 2. Utilice archivos de clase externos para cargar y crear
Por ejemplo, dado que aquí se utilizan archivos externos, los archivos de clase deben cargarse. colocarse en el directorio de Oracle Server
Public ? OracleJavaProc
{
Public void main(String[]?argv)
System.out. println("¿Sí? ¿Respuesta? ¿Java? ¿Oracle? Programa."); ¿Conceder? ¿crear? ¿Hay alguno? ¿Tabla de contenido? ¿A dónde ir? Scott;
Autorización exitosa.
¿SQL gt? ¿Conn? scott/tiger@iihero.oracledb
Conectado.
¿SQL gt? ¿crear? ¿aún? ¿reemplazar? ¿Tabla de contenido? directorio_prueba? as 'd:/Oracle';
El directorio ha sido creado.
¿SQL gt? ¿crear? ¿aún? ¿reemplazar? ¿Java? ¿clase? ¿usar? bfile(Directorio de prueba, clase OracleJavaProc.')
2/
Java? Creado.
¿SQL gt? ¿crear? ¿aún? ¿reemplazar? ¿programa? pruebajavaproc? ¿Como? ¿idioma? ¿Java? ¿nombre? oraclejavaproc . main(Java . lang . string[])';
2/
El proceso ha sido creado.
¿SQL gt? ¿Llamar? testjavaproc();
La llamada se completó.
¿SQL gt? ¿implementar? pruebajavaproc
PL/SQL? El proceso se ha completado con éxito.
¿SQL gt? ¿configuración? ¿Salida del servidor? ¿abierto? ¿tamaño? 5000
SQL gt? ¿Llamar? DBMS_Java.set_output(5000);
La llamada se completó.
¿SQL gt? ¿implementar? testjavaproc
¿En serio? ¿respuesta? ¿Java? ¿Oráculo? Una forma que recomiendo es cargarlo y crearlo de forma remota usando directamente el comando loadjava.
Primero crea una clase, por ejemplo
¿Importar? Java.SQL.*;
¿Importar? Oracle.JDBC.*;
¿Público? ¿clase? OracleJavaProc? {
//¿Agregar? ¿respuesta? ¿Salgrado? ¿A dónde ir? ¿eso? base de datos.
¿Público? ¿Electricidad estática? ¿Vacío? addSalGrade(int?Grade,?int?losal?int?hisal)? {
System.out.println("¿Crear? ¿Nuevo? ¿salgrade? ¿Para qué? Empleados...");
¿Probar? {
¿Contacto? ¿Conn? =
administrador de controladores . getconnection("JDBC:default:connection:");
¿Cadena? SQL? =
"¿Insertar? en? ¿salgrado?"?
¿"(Calificación, LOSAL, HISAL)??"
"Valores(?,?,?)";
¿Informe preparado? ¿pstmt? =?conn . preparar declaración(SQL);
pstmt.setInt(1, grado);
pstmt.setInt(2, losal);
pstmt .setInt(3,hisal);
PS TMT . ejecutar actualización();
pstmt
}
System.err.println("¿¡Error!? ¿Agregar? Salgrade:?"?
?e . getmessage());
} p>
}
}Utilice el comando loadjava para cargarlo en el servidor y compilar:
d: eclipse 3.1 workspacedbtest gt; -¿Y tú? scott/tiger@iihero.oracledb? -v? -¿resolver? ¿aún?
acleJavaProc.java?
Argumento:? -¿Y tú? ' scott/tiger@iihero.oracledb? '"¿Vo?" - ¿Resuelto? OracleJavaProc.java'?
¿Crear? :?¿fuente? OracleJavaProc?
Cargando:? ¿fuente? OracleJavaProc?
Análisis:? ¿fuente? OracleJavaProc?
Verificar estado:
Conectar a:
Oracle9i? ¿empresa? ¿Versión? ¿liberar? 9.2.0.1.0?-?Producción
¿Qué utilizar? ¿eso? Dividir,? ¿OLAP? Entonces qué.
¿Oráculo? ¿datos? ¿minería? Seleccione
¿JServer? ¿liberar? 9.2.0.1.0?-?Producción
SQL gt? ¿elegir? ¿Nombre del objeto? ¿Tipo de objeto? ¿estado? ¿De donde? objeto_usuario? ¿Dónde? tipo_objeto? ¿Por ejemplo? JAVA ';
Nombre del objeto
-
Estado del tipo de objeto
- ?-
OracleJavaProc p>p>
JAVA? ¿clase? ¿Válido
OracleJavaProc
JAVA? Procedimiento almacenado de prueba SOURCEVALID:
SQL gt? ¿crear? ¿aún? ¿reemplazar? ¿programa? add_salgrade(id? número,?losal?número,?hisal?número
ber)? ¿Como? ¿idioma? ¿Java? ¿nombre? OracleJavaProc.addSalGrade(int, int,? int)';
2/
El proceso ha sido creado.
¿SQL gt? ¿configuración? ¿Salida del servidor? ¿abierto? ¿tamaño? 2000
SQL gt? ¿Llamar? DBMS_Java.set_output(2000);
La llamada se completó.
¿SQL gt? ¿implementar? add_salgrade(6,?10000,?15000);
¿Creación? ¿Nuevo? ¿Salgrado? ¿para qué? Empleado...
¿PL/SQL? El proceso se ha completado con éxito.
¿SQL gt? ¿elegir? *?¿De donde? ¿Salgrado? ¿Dónde? Nivel = 6;
Gradlosar
- ?- ?-
61000015000