Usando Java no Oracle Por Edson Almeida Junior

Slides:



Advertisements
Apresentações semelhantes
Estudo de Caso, modelo Oracle 10g
Advertisements

Gerenciamento de Dados e Informação Estudo de caso – PL/SQL
Projeto Maven AcademicNet Grupo DGMR Daniel Isidoro Born Guilherme Amaral Márcio Percilio Roberto Rutz.
Banco de Dados SQL Stored Procedures
Triggers Marilde Santos.
Sequences Marilde Santos. O que são Sequences? Valores sequenciais podem ser gerados automaticamente pelo Oracle com o uso de sequences. A sequence gera.
Java RMI Alcides Calsavara. Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância.
1 Java: Tratamento de Exceções Alcides Calsavara.
VHDL Very High Speed Integrated Circuit Hardware Description Language Prof. Eduardo Todt 2008.
1 A Linguagem SQL Todo Banco de Dados apresenta uma Linguagem para definição e uma para manipulação de dados. Com relação aos Bancos de Dados Relacionais,
Prof. José Fernando Rodrigues Júnior Pacotes Material original: Profa. Elaine Parros Machado de Sousa SCC Bancos de Dados e Suas Aplicações.
SCC Bancos de Dados e Suas Aplicações
PL/SQL (Procedural Language/Structured Query Language)
Procedimentos e Funções
SCC Bancos de Dados e Suas Aplicações
A.4. Trabalhando com elementos de biblioteca STL – Standard Template Libraby Disponibiliza um conjunto de classes templates, provendo algoritmos eficientes.
Ronaldo Celso Messias Correia
Html5- Desenvolvendo Aplicações. Html5- Introdução a SQL Métodos OpenDatabase (utilizado para criar ou abrir uma Base de Dados); Transaction (permite.
SQL Procedural Junho/2006.
SQL procedural – parte 2.
Subconsultas em SQL. Subconsulta Estrutura geral SELECT.... FROM.... WHERE [at] OPERADOR ( SELECT... FROM... [WHERE... ]) Declaração SELECT localizada.
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - junho 2005 Serviço OXManager Treinamento no GRADEp Serviço OXManager OXManagerDemo.
Servidores e Programação Web Redes de Computadores.
TerraRadar Aplicativo para tratamento de imagem de Radar Utilizado através de dois tipos de interface : TerraView - (QT) Browser - (PHP)
MAC 499 Henrico Scaranello Emprego: Nov/ Hoje Universidade Anhembi-Morumbi.
Organização de Sistemas de Computadores
Recursividade Estrutura de Dados.
Programação Concorrente com Thread Java
Stored Procedure, Function and Trigger
Transporte Escolar Fluvial
Alertas de Segurança e Vigilância
Professor: Hyggo Almeida
Threads, Gerenciamento de Threads Pool de Threads, Grupo de Threads Variáveis Locais à Threads.
Anália Lima (alc5) Bruno Gentilini (bgda) Eduardo Souza (efs) Ivan França (ilfn) Infra-Estrutura de comunicação Aula Prática Programação de Sockets TCP.
WEKA. Roteiro Introdução Conceitos Exemplos práticos Chamada ao aplicativo.
JAVA Linguagem Ambiente de Desenvolvimento
Java em Redes de Computadores
PL/SQL, Procedures e Funções
Monitoria GDI Aula Prática
Equipe de monitoria Aula prática 3.  Caso de estudo  Igualando situações  Cursor  Function  Procedure  Trigger  Package  Surpresa...
Equipe de monitoria Aula prática 4
Primeira aula de PL/SQL Parte II
Análise Sintática – Parte 1
Oracle 9i: SQL e PL/SQL Bruno Celso Cunha de Freitas
Funções ou procedures Professor Esp. Diego André Sant’Ana
Cursor Professor Esp. Diego André Sant’Ana
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
III – Oracle 10g Herança.
Com coleções, cursor não é mais necessário
RT-EXPERT Artis Corp. C calling program RTSUB [rule set subroutine] RTSUB [rule set subroutine] RTSUB [rule set subroutine]... DSL Decision Support Language.
SEQUENCE, PROCEDURE, FUNÇÃO, TRIGGER
Monitoria GDI Aula Prática
Aula Prática PL Profa. Bernadette Farias Lóscio
JDBC Java Database Connectivity. JDBC Especificação para uso de base de dados em aplicações e applets JAVA; API para uso de drivers JDBC; Compatível com.
ArrayList e Genéricos Profs. PROG2 - UNISINOS.
Capítulo 1. static import  A importação estática pode ser utilizado quando queremos acessar métodos ou atributos estáticos de uma outra classe.  Através.
Polimorfismo.
Triggers (Gatilhos) Professor Esp. Diego André Sant’Ana
III – Oracle 9i Indexação. Índices Baseados em Funções É um índice baseado no valor de retorno de uma expressão ou função –A função pode ser um método.
CASE WHEN THEN ELSE END Professor Esp. Diego André Sant’Ana Disciplina: Banco de Dados II professordiegosantana.wordpress.com.
©Silberschatz, Korth and Sudarshan (modificado)9.2.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
Aula 13 - Triggers. Triggers no SGBD Postgres  Os Triggers (Gatilhos) são funções preparadas para serem disparadas no caso de alguma alteração ocorrer.
Banco de Dados II Prof: Márcio Soussa Curso de Sistemas de Informação Faculdades Jorge Amado.
BANCO DE DADOS Araújo Lima Out / 2017 Araújo.
BANCO DE DADOS Araújo Lima Outubro / 2017 Araújo.
Daniel Paulo SQL Server 2016 Módulo II Daniel Paulo
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
PL/SQL Triggers e Procedures
Transcrição da apresentação:

Usando Java no Oracle Por Edson Almeida Junior www.edsonalmeidajunior.com.br

Oracle Executa programas externos C programs no PL/SQL Executa programas Java no PL/SQL Objectives In this lesson, you learn how to implement an external C routine from PL/SQL code and how to incorporate Java code into your PL/SQL programs.

Chamada Externa no PL/SQL Java class method C routine DECLARE BEGIN EXCEPTION END; External Procedures: Overview An external procedure (also called an external routine) is a routine stored in a dynamic link library (DLL), shared object (.so file in UNIX), or libunit in the case of a Java class method, that can perform special purpose processing. You publish the routine with the base language and then call it to perform special purpose processing. You call the external routine from within PL/SQL or SQL. With C, you publish the routine through a library schema object, which is called from PL/SQL, that contains the compiled library file name that is stored on the operating system. With Java, publishing the routine is accomplished through creating a class libunit. A callout is a call to the external procedure from your PL/SQL code. A callback occurs when the external procedure calls back to the database to perform SQL operations. If the external procedure is to execute SQL or PL/SQL, it must “call back” to the database server process to get this work done. An external procedure enables you to: Move computation-bound programs from the client to the server where they execute faster (because they avoid the round trips entailed in across-network communication) Interface the database server with external systems and data sources Extend the functionality of the database itself PL/SQL subprogram External procedure

Java O Banco de Dados Oracle pode gravar Java classes e Java source. Como procedures, functions ou triggers Rodar dentro do Banco de Dados O Java pode Manipular Dados O Java pode acessar o S.O Java Overview The Oracle database can store Java classes (.class files) and Java source code (.java files) and execute them inside the database, as stored procedures and triggers. These classes can manipulate data, but cannot display GUI elements such as AWT or Swing components. Running Java inside the database helps these Java classes to be called many times and manipulate large amounts of data, without the processing and network overhead that comes with running on the client machine. You must write these named blocks and then define them by using the loadjava command or the SQL CREATE FUNCTION, CREATE PROCEDURE, CREATE TRIGGER, or CREATE PACKAGE statements.

Como PL/SQL trabalha com Java 1 CREATE JAVA 2 Java Virtual Machine 4 libunits Calling a Java Class Method Using PL/SQL The command-line utility loadjava uploads Java binaries and resources into a system-generated database table. It then uses the CREATE JAVA statement to load the Java files into RDBMS libunits. You can upload Java files from file systems, Java IDEs, intranets, or the Internet. When the CREATE JAVA statement is invoked, the Java Virtual Machine library manager on the server loads Java binaries and resources from local BFILEs or LOB columns into RDBMS libunits. Libunits can be considered analogous to DLLs written in C, although they map one-to-one with Java classes, whereas DLLs can contain more than one routine. 3 Java class /home/java/bin/Agent.class

EXEMPLOS

Configurando a execução JAVA set serveroutput on size 10000 exec dbms_java.set_output(10000)

Exemplo 01 - Oi Turma do MBA Oracle -- Criando uma Classe create or replace and compile java source named "exemplo" as public class exemplo { public static void teste_ver() { System.out.println("Oi Turma do MBA Oracle"); } / -- Criando uma procedure que vai utilizar a classe criada create or replace procedure teste_ver as language java name 'exemplo.teste_ver()'; -- Para executar a procedure exec teste_ver;

Exemplo 02 - Versão do Jserver select * from all_registry_banners; -- Criando uma Classe create or replace and compile java source named "prop" as public class prop { public static void db_ver() { System.out.println(System.getProperty("oracle.jserver.version")); } / -- Criando uma procedure que vai utilizar a classe criada create or replace procedure db_ver as language java name 'prop.db_ver()'; -- Executando a procedure; exec db_ver;

Limitações do Java no Oracle Só roda após a versão 8.1.7.4 Não roda na versão Express (XE) Free