jdbc 数据库连接问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 15:27:06
try {
Context ct = new javax.naming.InitialContext();
DataSource ds = (DataSource)ct.lookup("java:comp/env/jdbc/oracle");
System.out.println(ds);
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

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(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.bookshopping.util.Test.main(Test.java:16)

-----------------------------
单独写连接时没有问题,用连接池时就报上面的问题了

那就得看你的xml文件了

由于我不知道你的配置 所以把我的说下:
配置 oracle+tomcat5.5

1.ojdbc14.jar放进Tomcat 5.5\common\lib中;
2.classpath:%CATALINA_HOME%\common\lib\ojdbc14.jar;(%CATALINA_HOME%为你tomcat路径)
3.Tomcat 5.5\conf\Catalina\localhost下写一个以你的项目命名的xml(比如项目名为myapps),则myapps.xml。内容为:
<Context path="/myapps" docBase="myapps"
debug="5" reloadable="true" crossContext="true">

<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="dattest" password="dattest" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.0.28:1521:oraclass"/>
</Context>
4.Tomcat 5.5\webapps\myapps\WEB-