quinta-feira, 30 de agosto de 2012

Oracle update com select



UPDATE PERMISSAO
SET
  PERMISSAO.SELECIONAR = 0,
  PERMISSAO.ALTERAR = 0,
  PERMISSAO.INCLUIR = 0,
  PERMISSAO.EXCLUIR = 0
WHERE
  PERMISSAO.TELA_ID = 99
AND
  (SELECT USUARIO.CLIENTE FROM USUARIO WHERE USUARIO.ID = PERMISSAO.USUARIO_ID) = 1;


segunda-feira, 27 de agosto de 2012

Substituir string por outra string no oracle.


Substituir string por outra string no oracle.

UPDATE USUARIO
  SET USUARIO.PATH_FOTO =  REPLACE( USUARIO.PATH_FOTO ,'/Sistema/','/sistema/')

Altera de /Sistema/ para /sistema/.

Ex: /Sistema/fotos/
Altera para: /sistema/fotos/

sexta-feira, 24 de agosto de 2012

java.lang.NullPointerException java.lang.Class.isAssignableFrom(Native Method)


Erro: Ao clicar no botão salvar.
java.lang.NullPointerException java.lang.Class.isAssignableFrom(Native Method)

Local do problema:
<h:commandButton
 actionListener="#{contatoMB.save(tabHawb)}"
 value="Salvar"/>

Solução:
<h:commandButton
 actionListener="#{contatoMB.save('tabHawb')}"
 value="Salvar"/>

segunda-feira, 20 de agosto de 2012

Tomcat 7 + SSL (Windows)


1) Criar o arquivo keystore:

Em %JAVA_HOME%/bin execute o seguinte comando:

keytool -genkey -alias meuCertificado -keyalg DSA -keypass senha -storepass senha -keystore C:/certificados/meuCertificado.jks -dname "cn=empresa, ou=area, o=grupoDeTrabalho, l=Cidade, S=Estado, c=Pais" -validity 365

2)Configurar o arquivo server.xml do TomCat:

Localize a seguinte declaração:

<!--<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />-->

Descomente e altere conforme abaixo:

Connector SSLEnabled="true" acceptCount="100" clientAuth="false"    disableUploadTimeout="true" enableLookups="false" maxThreads="25"    port="8443" keystoreFile="C:\certificados\meuCertificado.jks" keystorePass="senha"    protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"    secure="true" sslProtocol="TLS" />

3)Testando:
Acesse https://localhost:8443.

4)Configurar a aplicação para usar SSL:

Adicione no web.xml

<security-constraint>  
  <web-resource-collection>    
    <web-resource-name>securedapp</web-resource-name>      
    <url-pattern>/*</url-pattern>  //Ativar SSL em todas as páginas
    <url-pattern>/login.jsf</url-pattern> // Ativar SSL em páginas específicas
    <url-pattern>/cadastro/*</url-pattern>  //Ativar SSL em pastas
  </web-resource-collection>  
  <user-data-constraint>      
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
  </user-data-constraint>
</security-constraint>

Para desativar mude o CONFIDENTIAL para NONE.

quinta-feira, 16 de agosto de 2012

Hibernate 4.1.5 + TomCat 7 + JNDI Datasource + Oracle 10ge



<!-- A configuração abaixo deve ser adicionada ao context.xml do diretório conf do tomcat! -->
<Resource name="jdbc/testeDB"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="admin"
password="admin"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@192.168.0.9:1521:XE"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"/>

OBS: Copiar ojdbc14.jar para o diretório lib do TomCat.

 <!-- Adicionar no Web.xml-->
 <resource-ref>
  <description>DataSource testeDB</description>
  <res-ref-name>jdbc/testeDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>


<!-- hibernate.cgf.xml -->
<!-- Configuração com Data Source -->
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="hibernate.jdbc.use_streams_for_binary=">true</property>
<property name="hibernate.connection.datasource">java:/comp/env/jdbc/testeDB</property>
<property name="current_session_context_class">thread</property>
 
<!-- Configuração sem Data Source
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@192.168.0.9:1521:XE</property>
<property name="hibernate.connection.username">admin</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.password">admin</property>
<property name="hibernate.jdbc.use_streams_for_binary=">true</property>
 -->

<!-- Pool de Conexões - C3P0 
        Colocar JARs na pasta lib do TomCat
Não é necessário quando a conexão é feita através de um Data Source. Nesse caso, o poll deve ser configurado no context.xml

  <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.org.c3p0.min_size">3</property>
<property name="hibernate.org.c3p0.max_size">30</property>
<property name="hibernate.org.c3p0.timeout">10</property>
<property name="hibernate.org.c3p0.max_statements">0</property>
<property name="hibernate.org.c3p0.idle_test_period">30</property>
<property name="hibernate.org.c3p0.acquire_increment">5</property>
-->

terça-feira, 7 de agosto de 2012

Tomcat convertendo campos null para zero


Adicionar a seguinte linha em (VM Arguments) do Tomcat.

-Dorg.apache.el.parser.COERCE_TO_ZERO=false

Fonte: http://balusc.blogspot.com.br/2008/01/jsf-tutorial-with-eclipse-and-tomcat.html#IntegrateTomcatInEclipse