Não estou conseguindo montar uma ConnectionPool usando o sqlserver, segue abaixo a classe que estou montando e o erro.Caso alguém possa me ajudar, agradeço imensamente. O que devo passar como parâmetro no comando contexto.lookup ?
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
/**
*
* @author Fernando
*/
public class Conexao {
public static Connection getConnection() throws NamingException, SQLException{
InitialContext contexto = new InitialContext();
DataSource pool = (DataSource) contexto.lookup("java:comp/env");
Connection con = pool.getConnection();
//String url = "jdbc:sqlserver://localhost:1433/databaseName=loja-virtual";
//String user = "USUARIO";
//String pass = "USUARIO";
try {
con =DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=loja-virtual", "USUARIO", "USUARIO");
System.out.println("Conectado: "+con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
}
ERRO:
run:
Exception in thread "main" 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
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:350)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at jdbc.Conexao.getConnection(Conexao.java:23)
at jdbc.TestaConection.main(TestaConection.java:22)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)