Mostrando postagens com marcador Oracle. Mostrar todas as postagens
Mostrando postagens com marcador Oracle. Mostrar todas as postagens

quinta-feira, 15 de novembro de 2007

Oracle escolheu o Adobe Flex

e aqui estou eu, como de costume lendo alguns blog, no caso do James Ward e eis que vi 3 posts muito interessantes, posts dos dias 12 a 14 de Novembro de 2007, onde ele estava participando do evento: Oracle OpenWorld

primeiro post, foi uma foto da apresentação do MetaLink da Oracle com interface em Adobe Flex:


[link post]


Agora sobre o Oracle BI Publisher, outra solução da Oracle que utilizou o Flex


[link post]


Mais uma solução Oracle Enterprise Manager


[link post]


ps.: no dia 14, o tema foi a solução Siebel CRM, onde nesse dia a palestra foi apresentada por James Ward em conjunto com Dipock Das sobre Siebel CRM e RIA. A apresentação abortou o foco de como as aplicações RIA transformaram as experiências dos usuários de software Enterprise. [link post]

agora para aqueles que perguntavam: "- Mas quem usa o Adobe Flex?" ou a outra pergunta: "- O Adobe Flex aguenta/comporta/pode ser utilizado para aplicações de grande porte?"

bom acho que essas referências acima respondem a estas perguntas e libertam do medo de utilizar o Adobe Flex para desenvolver soluções de alto nível em aplicações web... vai esperar mais o que para utilizar a tecnologia FlexPower da Adobe?!

sexta-feira, 5 de outubro de 2007

Oracle : visualise seus dados da base de dados com JFreeChart

uma tutorial muito interessante e útil, disponibilizado no site da Oracle de como utilizar o JFreeChart para de forma simples gerar relatótios gráficos dos dados da sua base de dados, este tutorial possui bastante trechos de códigos (em inglês)

Site do tutorial : [link]

Fonte : DZone

terça-feira, 25 de setembro de 2007

Oracle : Dica : ResultSet : Procedure

recebi uma dica bem interessante de um amigo(Robson Hermes) hoje quanto a ResultSet retornados de procedures do Oracle:

obs.: eles não são scrollable (são forward only, em outras palavras, pegue apenas o próximo, não tem como recuperar um anterior)

exemplo:

se você executar uma procedure que retorna um cursor (ResultSet no java)

ResultSet rset;
String jobquery = "begin ? := get_jobs; end;";
CallableStatement callStmt = conn.prepareCall(jobquery);
callStmt.registerOutParameter(1, OracleTypes.CURSOR);
callStmt.execute();
rset = (ResultSet)callStmt.getObject(1);

Este ResultSet só poderá ser navegado para frente... qualquer método de posicionamento (como o absolute) irá acarretar em uma exceção, mesmo que no prepareCall você passe o parâmetro ResultSet.TYPE_SCROLL_INSENSITIVE

Nessa página da oracle diz bem claro:
http://download.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25320/addfunc.htm

Nota: instâncias do REF CURSOR não são pagináveis.

sexta-feira, 17 de agosto de 2007

Oracle : JDeveloper 11

A algum tempo que ando trabalhando com o JDeveloper, porém até hoje ainda sinto saudades do Eclipse... não gostei muito do estilo, mas trabalho é trabalho... atualmente estou utilizando o JDev Studio 10.1.3.x que já evoluiu muito da versão anterior do JDev, a alguns dias ouvi sobre o JDeveloper 11 e pelo pouco que vi, acredito que melhorou mais ainda, ainda não parece que tem todas as vantagens e auxilios para codificação que o Eclipse tem, porém quanto a Wizzard e utilidades para criar classes e outras coisas está bem evoluido...

ainda vou iniciar os testes dessa nova versão...
mas espero que quanto a codificação tenha melhorado mais ainda =D


Oracle JDeveloper 11g


de uma olhada também nesse guia introdutório do JDev 11

quinta-feira, 26 de julho de 2007

Oracle : executando uma Function via SQL

hoje eis que surgiu uma dúvida...
Como executar uma function em uma SQL sem definir uma tabela?!

simples faça como o exemplo abaixo:
select function_name( att, att, ... ) from dual

e funciona =]

terça-feira, 24 de julho de 2007

Oracle : OC4J : instalando e configurando no Windows


Para quem não conhece o OC4J da Oracle é um servidor de aplicações web java, atualmente nos últimos projetos que tenho participado o servidor utilizado no cliente é este camarada ae, então o jeito é desenvolver no ambiente de desenvolvimento usando ele para evitar qualquer eventual surpresa quanto ao funcionamento...

Obs.: versão que utilizei é o 10.1.3.x, arquivo .zip

no caso como era um arquivo zip, apenas foi necessário descompactar o arquivo em algum local no HD, após feito isso para colocar ele para funcionar foi necessário alterar dentro do diretorio /bin o arquivo utilizado para iniciar e parar o serviço setar 2 variáveis (isso fiz no oc4j.cmd, mas acredito que fazendo isso no oc4j, funcione para o Linux também):

- JAVA_HOME = ${ colocar o caminho de onde está o jsdk }
- ORACLE_HOME = ${ caminho de onde você descompactou o OC4J }

para iniciar o serviço utilizei o comando: oc4j.cmd -start
Nota: para facilitar criei no mesmo diretorio o arquivo oc4j-start.cmd, com o comando acima...

Obs.: Na primeira vez que você for executar o OC4J ele irá solicitar uma senha para o usuário oc4jadmin, defina uma senha que você não vá esquecer depois..., normalmente o pessoal na máquina local de desenvolvimento usa por padrão a senha admin

Nota: a porta padrão do servidor é a 8888

* Eclipse 3.x como WTP
realizei um teste no eclipse 3.2 com wtp 1.5.3 e no eclipse 3.3 com wtp 2.0, setando o servidor OC4J, em ambos ele conseguiu levantar o servidor e parar posteriormente, mas para levantar ele solicitou em uma janela popup na primeira vez, solicitou a senha para o usuário oc4jadmin, aquela que foi definida na primeira vez que o OC4J foi executado na máquina.

terça-feira, 10 de julho de 2007

Oracle : SQL : exclusiva ( sentido de exclusão )

algo útil também é como realizar um SELECT onde tenha a necessidade de excluir da seleção dados que estejam presente em outra tabela...

por exemplo, selecionar todos os dados de uma tabela de produtos disponíveis onde essa lista de produtos não selecione novamente um produto que anteriormente foi adicionado a lista de interesse em outra tabela, tendo um cenário:

- tabela_produto ( COD, DESC )
- tabela_produto_selecionado ( COD_PRODUTO, COD_USUARIO )

SELECT * FROM tabela_produto
WHERE COD NOT IN(
SELECT DISTINCT COD_PRODUTO
FROM tabela_produto_selecionado )

segunda-feira, 9 de julho de 2007

Oracle : SQL : INNER JOIN : mais de um campo

ainda continuando o tema, refazendo mais alguns testes verifiquei que o formato de SQL para INNER JOIN com mais de um campo como o abaixo:

SELECT
A.COLUNA1,
B.COLUNA2
FROM
TB1 A
INNER JOIN TB2 B ON (
B.CHAVE1 = A.CHAVE1 AND
B.CHAVE2 = A.CHAVE2 AND
B.CHAVE3 = A.CHAVE3
)
WHERE
A.CODIGO = 1


funcinou, anteriormente no teste que havia feito tinha uma clausula errada no WHERE por isso não estava funcionando :P

sábado, 7 de julho de 2007

Oracle : SQL : OUTER JOIN : continuando...

bom sobre o post anterior, resolveu em partes mas ainda sim não acabou sendo muito útil
pois acabei tendo de relacionar no SQL mais outras 3 entidades/tabelas, ai a coisa ficou feia...

por enquanto a solução mais rápida foi fragmentar em 3 consultas separadas...

Oracle : SQL : OUTER JOIN

hoje brigando com as SQL para Oracle tive a necessidade de fazer um JOIN entre 2 tabelas, bom até tudo bem, normalmente os JOINs que faço usam apenas 1 única coluna, mas nesse caso eu precisava realizar um que considerasse 3 colunas, as quais são chave primária de uma entidade na base de dados e utilizadas como chave estrangeira na outra...

e fui eu lá tentar, na primeira tentativa, fui no INNER JOIN padrão:

SELECT
A.COLUNA1,
B.COLUNA2
FROM
TB1 A
INNER JOIN TB2 B ON ( B.CHAVE1 = A.CHAVE1 )
WHERE
A.CODIGO = 1

porém essa SQL não me garantia a precisão dos dados recuperados e fui eu tentar ( tudo bem que está errado, mas as vezes cometemos erros hauhauhau )

SELECT
A.COLUNA1,
B.COLUNA2
FROM
TB1 A
INNER JOIN TB2 B ON (
B.CHAVE1 = A.CHAVE1 AND
B.CHAVE2 = A.CHAVE2 AND
B.CHAVE3 = A.CHAVE3
)
WHERE
A.CODIGO = 1

e como era de se prever não funcionou...
até que com a ajuda de um colega do trabalho ele me sugeriu algo que chamava de OUTER JOIN o qual é o respectivo formato abaixo:

SELECT
A.COLUNA1,
B.COLUNA2
FROM
TB1 A,
TB2 B
WHERE
B.CHAVE1 (+)= A.CHAVE1 AND
B.CHAVE2 (+)= A.CHAVE2 AND
B.CHAVE3 (+)= A.CHAVE3 AND
A.CODIGO = 1

esse sim funcionou perfeitamente e me recuperou os dados de forma correta.

quarta-feira, 4 de julho de 2007

Oracle : útil : selecionando próximo código

algo útil que de vez em sempre me esqueço, uma SQL para selecionar um próximo valor, normalmente utilizada para recupara qual o próximo valor de código a ser inserido na entidade/tabela, segue:

SELECT nvl( max( COLUNA ), 0 )+1 COLUNA FROM ENTIDADE_TABELA


bom fica ae a dica ;)

segunda-feira, 18 de junho de 2007

Tomcat 5.0.28 + Oracle: como configurar um datasource

hoje levei um baile até lembrar como configurar um datasource para o tomcat, bom caso alguem esteja passando por alguma dificuldade com esse mesmo tema isso pode ser util:

bom para resolver esse probleminha rapidamente faça o seguinte:

- no diretório /META-INF do teu projeto crie o arquivo: context.xml e nele
insira a configuração do datasource como o exemplo abaixo:

<Resource name="jdbc/myoracle" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/myoracle">
   <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
   </parameter>
   <parameter>
      <name>driverClassName</name>
      <value>oracle.jdbc.driver.OracleDriver</value>
   </parameter>
   <parameter>
      <name>url</name>
      <value>jdbc:oracle:thin:myschema@127.0.0.1:1521:mysid</value>
   </parameter>
   <parameter>
      <name>username</name>
      <value>scott</value>
   </parameter>
   <parameter>
      <name>password</name>
      <value>tiger</value>
   </parameter>
   <parameter>
      <name>maxActive</name>
      <value>20</value>
   </parameter>
   <parameter>
      <name>maxIdle</name>
      <value>10</value>
   </parameter>
   <parameter>
      <name>maxWait</name>
      <value>-1</value>
   </parameter>
</ResourceParams>


Obs.: note a estrutura do código acima... ( esse foi o porém que consumiu um bom tempo até prestar atenção... )

- no web.xml insira o um código similar a este:

<resource-ref>
   <description>Oracle Datasource example</description>
   <res-ref-name>jdbc/myoracle</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>
</resource-ref>


PS.: coloque os .jar do oracle no ${TOMCAT}/common/lib, para efetivamente funcionar o datasource...

mais informações veja o [link:JNDI Datasource HOW-TO]