0
안녕하세요 데이터베이스 연결 클래스가 있습니다. 이 클래스는 동적 웹 프로젝트의 일부입니다. Tomcat 서버에서 로컬로 웹 프로젝트를 실행하고 있으며 더비 서버에 연결하려고합니다. derby와 tomcat에 대한 모든 외부 파일을 가져 왔으며 두 서버가 모두 실행 중입니다. 나는이 라인에서 내 응용 프로그램을 실행할 때 나는 계속 실패NamingContext를 데이터 소스에 캐스트 할 수 없습니까?
ds = (DataSource) ctx.lookup("java:/comp/env");
이 내가이 코드
public DatabaseConnection() throws ServiceLocatorException{
try{
ctx = new InitialContext();
System.out.println("We are trying to connect to the Derby server: ");
ds = (DataSource) ctx.lookup("java:/comp/env");
logger.info("Database found:"+ds.toString());
}catch(NamingException e){
logger.severe("Cannot find context, throwing exception"+e.getMessage());
e.printStackTrace();
throw new ServiceLocatorException();
}
}
나는 예외에서 조각입니다
import java.sql.Connection;
import java.sql.SQLException;
import java.util.logging.Logger;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
수입 한 패키지입니다 이게 뭐니?
java.lang.ClassCastException: org.apache.naming.NamingContext cannot be cast to javax.sql.DataSource
무엇을해야할지 모르겠습니다.
http://stackoverflow.com/questions/11631839/what-is-javacomp-env – iMBMT
참조 http://stackoverflow.com/questions/3327420/jdbc-jndi-problem-with-tomcat-6-0 -26 –