quarta-feira, 22 de dezembro de 2010

tabelas MySQL letras maiúsculas

Para criar tabelas no MySQL com letras maiúsculas faça o seguinte:

Adicione no arquivo my.ini a seguinte linha:
lower_case_table_names=2

O arquivo my.ini está onde o MySQL foi instalado. Em uma máquina Windows pode estar em:
C:\Program Files\MySQL\MySQL Server 5.1

Depois disso, reinicie o service do MySQL, qualquer coisa reinicie a máquina.

Dessa forma você poderá criar tabelas com letras maiúsculas.

Valeeu!!

Failed to register driver for: com.mysql.jdbc.Driver

Ao iniciar o JBoss aconteceu o erro:

Caused by: org.jboss.resource.JBossResourceException: Failed to register driver for: com.mysql.jdbc.Driver;
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver from BaseClassLoader@1b64925

Para resolver coloquei o driver do MySQL em < Pasta do JBoss >/server/< contexto >/lib

Você pode baixar o driver em http://dev.mysql.com/downloads/connector/j/ depois descompacte e pegue o arquivo .jar, esse é o arquivo que você deve jogar em < Pasta do JBoss >/server/< contexto >/lib

; )

HibernateException: 'hibernate.dialect'

Aconteceu comigo o erro:

Caused by: org.hibernate.HibernateException: 'hibernate.dialect' must be set when no Connection available

Para resolver apenas coloquei o trecho abaixo dentro da tag persistence-unit do arquivo persistence.xml:

<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<properties>

Isso foi para um banco MySQL, para outros bancos segue a lista:
RDBMS                 Dialect
DB2 org.hibernate.dialect.DB2Dialect
DB2 AS/400 org.hibernate.dialect.DB2400Dialect
DB2 OS390 org.hibernate.dialect.DB2390Dialect
PostgreSQL org.hibernate.dialect.PostgreSQLDialect
MySQL org.hibernate.dialect.MySQLDialect
MySQL with InnoDB org.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAM org.hibernate.dialect.MySQLMyISAMDialect
Oracle (any version) org.hibernate.dialect.OracleDialect
Oracle 9i org.hibernate.dialect.Oracle9iDialect
Oracle 10g org.hibernate.dialect.Oracle10gDialect
Sybase org.hibernate.dialect.SybaseDialect
Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect
Microsoft SQL Server org.hibernate.dialect.SQLServerDialect
SAP DB org.hibernate.dialect.SAPDBDialect
Informix org.hibernate.dialect.InformixDialect
HypersonicSQL org.hibernate.dialect.HSQLDialect
Ingres org.hibernate.dialect.IngresDialect
Progress org.hibernate.dialect.ProgressDialect
Mckoi SQL org.hibernate.dialect.MckoiDialect
Interbase org.hibernate.dialect.InterbaseDialect
Pointbase org.hibernate.dialect.PointbaseDialect
FrontBase org.hibernate.dialect.FrontbaseDialect
Firebird org.hibernate.dialect.FirebirdDialect

Mais detalhes em: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html

É isso aí!

persistence-unit.xml

O erro abaixo aconteceu comigo.. aconteceu pois o meu arquivo de persistência estava com o nome persistence-unit.xml, ao renomear para persistence.xml o problema parou de ocorrer.

18:23:55,912 ERROR [Ejb3Deployment] Exception while processing container metadata for EJB: TestServerBean in unit: test-ejb.jar
18:23:55,914 ERROR [AbstractKernelController] Error installing to Real: name=vfs:///C:/temp/test/jboss-6.0.0-M5/server/test-web/deploy/test-ee.ear state=PreReal mode=Manual requiredState=Real: org.jboss.deployers.spi.DeploymentException: Error deploying test-ejb.jar: Exception while processing container metadata for EJB: TestServerBean in unit: test-ejb.jar
at org.jboss.ejb3.deployers.Ejb3Deployer.deploy(Ejb3Deployer.java:189) [:6.0.0.20100911-M5]
[…]
Caused by: java.lang.IllegalArgumentException: Container jboss.j2ee:ear=test-ee.ear,jar=test-ejb.jar,name=TestServerBean,service=EJB3 failed to resolve persistence unit test
at org.jboss.injection.PersistenceUnitHandler.addPUDependency(PersistenceUnitHandler.java:135) [:1.5.1]

[…]
Caused by: java.lang.IllegalArgumentException: Can't find a persistence unit named 'test' in AbstractVFSDeploymentContext@22455058{vfs:///C:/temp/test/jboss-6.0.0-M5/server/test-web/deploy/test-ee.ear/test-ejb.jar/}
at org.jboss.jpa.resolvers.BasePersistenceUnitDependencyResolver.resolvePersistenceUnitSupplier(BasePersistenceUnitDependencyResolver.java:107) [:1.0.2-alpha-1]

Gerar código a partir de um banco

Bom, precisei gerar as classes que mapeiam as minhas tabelas com JPA..

utilizei os seguintes tutoriais para conseguir:

Começo:
http://pt.scribd.com/doc/73027102/Fazendo-Engenharia-Reversa-Com-Hibernate-Tools-Reverse-Engineering

Vídeo aula
http://docs.jboss.org/tools/archive/movies/demos/Reverse_engineering_and_code_generation/Reverse_engineering_and_code_generation.htm

Documentação:
Em HTML:
http://docs.jboss.org/tools/3.3.0.Final/en/hibernatetools/html/index.html

Em HTML (versão leve)
http://docs.jboss.org/tools/3.3.0.Final/en/hibernatetools/html_single/index.html

Em PDF
http://docs.jboss.org/tools/3.3.0.Final/en/hibernatetools/pdf/Hibernatetools_Reference_Guide.pdf

illegal target for the requested operation

Ao commitar um arquivo novo no SVN deu o erro abaixo:



Isso aconteceu pois o arquivo novo também está numa pasta nova.. a pasta ainda não tinha sido commitada também.
Para resolver, ao invés de selecionar o arquivo e commitar, selecionei a pasta e commitei. Assim deu tudo certo!
:D

Access restriction BASE64Decoder

Oi : )

Hoje peguei um projeto novo aqui na empresa e aconteceram os seguintes erros:

Access restriction: The constructor BASE64Decoder() is not accessible due to restriction on required library C:\Program Files\Java\jre1.6.0_06\lib\rt.jar
Access restriction: The method decodeBuffer(String) from the type CharacterDecoder is not accessible due to restriction on required library C:\Program Files\Java\jre1.6.0_06\lib\rt.jar
Access restriction: The method encode(byte[]) from the type CharacterEncoder is not accessible due to restriction on required library C:\Program Files\Java\jre1.6.0_06\lib\rt.jar
Access restriction: The type BASE64Encoder is not accessible due to restriction on required library C:\Program Files\Java\jre1.6.0_06\lib\rt.jar
The project cannot be built until build path errors are resolved

Para resolver isso fiz o seguinte (no eclipse):
Botao direito no projeto > Properties > Java Compiler > Errors/Warnings > Deprecated and restricted API > Forbidden reference (access rules)
Nesse campo alterei o combobox de Error para Warning e pronto! Tudo certo o/

Talvez essa não seja a melhor solução mas resolveu o meu problema aqui, espero que possa ajudar outras pessoas.

Vaaaaleu! Até mais!

quinta-feira, 24 de junho de 2010

links flex

Pessoal, às vezes me perguntam se conheço alguns links legais de flex.. reuni alguns pra publicar aqui...

Vídeo com aplicações feitas em Flex
http://www.blip.tv/file/4250183

Fusioncharts
Exemplos de uso da biblioteca fusioncharts (tem gráficos e mapas muito interessantes)
http://www.fusioncharts.com/flex/demos/ChartExplorer/index.html
http://www.fusioncharts.com/flex/demos/MapExplorer/index.html
Mais em:
http://www.fusioncharts.com/flex/demos/

janelas-mdi-window
Aplicação bem bacana desenvolvida em flex:
http://luiztarabal.com.br/examples/MDIWindow/MDIWindow.html
Mais em:
http://luiztarabal.com.br/2010/03/25/janelas-mdi-window-no-flex/

Tour de Flex
Mostra diversos componentes bacanas com fonte que podem ser usados por você
http://www.adobe.com/devnet/flex/tourdeflex/web/
Você pode fazer download dessa aplicação (recomendado pois fica mais rápido)
http://www.adobe.com/devnet/flex/tourdeflex/

Dashboard
Aplicação de exemplo da adobe para um dashboard
http://examples.adobe.com/flex3/devnet/dashboard/main.html
Minha versão simplificada:
http://localhost8080.com.br/dashboard/main.swf

Flex Store
Aplicação de exemplo da adobe de e-commerce
http://examples.adobe.com/flex2/inproduct/sdk/flexstore/flexstore.html

Temas para o flex
http://fleksray.org/skins/edding/Edding.html
http://fleksray.org/skins/blueplastic/BluePlastic.html
http://ntt.cc/ext/Themes-Skins-For-Adobe-Flex/demo/Aeon/Aeon.html
http://ntt.cc/ext/Themes-Skins-For-Adobe-Flex/demo/Blend/Blend.html

Mais temas e downloads para você usar os temas no seu projeto em:
http://ntt.cc/2010/05/11/40-beautiful-themes-skins-for-adobe-flex-apps.html
http://www.scalenine.com/
http://fleksray.org/Flex_skin.html
ou procure por themes flex no google para encontrar mais

flex lib
Biblioteca de componentes flex, tem diversos componentes úteis que podem ser usados na sua aplicação
http://flexlib.googlecode.com/svn/trunk/examples/SuperTabNavigator_Sample.swf
http://flexlib.googlecode.com/svn/trunk/examples/ConvertibleTreeList_Sample.swf
http://flexlib.googlecode.com/svn/trunk/examples/Fire_Sample.swf
Mais em:
http://code.google.com/p/flexlib/wiki/ComponentList
http://flexlib.googlecode.com/svn/trunk/examples/

Component Explorer
Lista de componentes do flex 3 com exemplos de uso
http://examples.adobe.com/flex3/componentexplorer/explorer.html

Style Explorer
Muito útil para deixar sua aplicação com um visual mais atraente
http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html#

Assim que eu achar mais links legais postarei aqui.

Até mais!

quarta-feira, 26 de maio de 2010

Download de Arquivos - JBoss

Em um sistema aqui da empresa, é gerado um arquivo xls (excel) e para fazer download o usuário acessa um link como esse:

http://nomedoservidor:porta/nomedosistema/meuarquivoexcel.xls

Porém, em alguns navegadores, ao abrir o link, o arquivo é exibido no browser, e todo desconfigurado ainda...

para resolver isso, basta adicionar as seguintes linhas

<mime-mapping>
<extension>xls</extension>
<mime-type>application/msexcel</mime-type>
</mime-mapping>

em:

<pasta do jboss>/server/<contexto>/deploy/jbossweb-tomcat55.sar/conf/web.xml


Pronto! problema resolvido.. ao acessar o link, o usuário escolherá se deseja apenas abrir o arquivo ou fazer download.

Expliquei aqui como resolvi o problema com xls, mas com outros formatos de arquivos, também é possível.

Valeu!

sexta-feira, 21 de maio de 2010

compartilhar pasta ubuntu terminal

Hoje acessando um servidor linux aqui da empresa precisava compartilhar uma pasta, porém, não tinha interface gráfica, então tive que fazer na mão, via terminal...

para isso acessei o arquivo /etc/samba/smb.conf

e adicionei as seguintes linhas:

[reports]
comment = Diretorio relatorios
browseable = yes
path = /opt/jboss/jboss-4.0.5.GA/server/anyware/deploy/test.war/reports
writable = yes
guest ok = yes

Pronto, compartilhamento criado!

Agora uma explicação de cada linha:

##### Nome do compartilhamento
[reports]
##### comentario qualquer
comment = Diretorio relatorios
##### indica se o compartilhamento será visto na rede
browseable = yes
##### caminho do compartilhamento
path = /opt/jboss/jboss-4.0.5.GA/server/anyware/deploy/test.war/reports
##### indica se vai ser leitura e escrita
writable = yes
##### define se qualquer um vai ter acesso, caso você coloque "no", use valid users e defina quem terá acesso
guest ok = yes

####### outras propriedades que podem ser definidas

##### usuarios ou grupos que terao permissão de acesso (para grupos utilize um @ na frente @users)
valid users = usuario1
##### disponibilidade do compartilhamento, por padrão: yes.
available = yes
### habilita o compartilhamento como somente de leitura.
read only = yes


Fonte:
http://mentedolulu.blogspot.com/2009/01/como-compartilhar-pasta-do-linux-para-o.html