Olá,
ao rodar o main abaixo não consigo acessar o banco de dados.
O que estou fazendo de errado se alguém puder me ajudar agradeceria.
abs
public class TestaJNDI {
/**
* @param args
* @throws NamingException
* @throws SQLException
*/
public static void main(String[] args) throws NamingException, SQLException {
try{
InitialContext initCtx = new InitialContext();
DataSource ds = (DataSource) initCtx.lookup( "java:/comp/env/jdbc/jdbc/FinanceiroDB" );
Connection con = ds.getConnection();
System.out.println("Conexão OK...");
}catch(Exception e){
System.out.print("Erro="+e);
}
// TODO Auto-generated method stub
}
}
Erro=javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
META/context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="">
<!--configuracao de conexao com banco de dados-->
<Resource name="jdbc/FinanceiroDB"
auth="Container"
type="javax.sql.DataSource"
username="root"
password="paulo"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/finaceiro?autoReconnect=true"
maxActive="8"
maxIdle="4"/>
</Context>
web.xml
<resource-ref>
<description>DataSource FinaceiroBD</description>
<res-ref-name>jdbc/FinanceiroDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>