Olá, estou desenvolvendo uma aplicação que precisa acessar tanto um base de dados oracle quanto outra em ms sql server 2005.
Para acessar o oracle, foi moleza, para acessar o ms sql, nem tanto.
No fim das contas tudo funciona quando a aplicação é executada dentro do eclipse.
Tudo finalizado e testado, chegou a hora de gerar o jar. Ai começou o inferno.
Se eu empacoto o arquivo sqljdbc.jar do mssql junto, na hora de executar aparece o erro:
Exception in thread “main” java.lang.SecurityException: invalid SHA1 signature
file digest for com/microsoft/sqlserver/jdbc/SQLServerException.class
at sun.security.util.SignatureFileVerifier.verifySection(Unknown Source)
Se eu deixo ela de fora, ai aparece o erro:
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
Eu tenho a mais absoluta certeza de que o arquivo sqljdbc.jar está declarado corretamente no classpath.
Fiz alguns testes aqui e se crio uma aplicação simples de uma classe apenas que se refere a classe do driver do ms sql, compilando na linha de comando, quando executo na linha de comando tudo funciona corretamente. Mas se utilizar uma estrutura mais complexa, com várias classes distribuidas em uma árvore de diretórios, ou compilando pelo eclipse, quando executo por fora do eclipse, na linha de comando, não acha o jar do mssql de jeito nenhum.
Tentei usar na linha de comando o parametro -cp mas mesmo assim não funciona.
Por favor, me ajudem!