小弟今天配置数据源遇到了问题,特地来请教各位!!!我的数据库是Oracle10G,数据库名:orcl,用户名:system,密码:cn.com.demo以下是server.xml文件的信息:
<Context path="/EastGrowthService" docBase="EastGrowthService" debug="5"reloadable="true" crossContext="true">
<Resource name="egs" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="1000" username="system" password="aaaaaa" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:orcl" />
</Context>以下是Jsp文件信息:
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<%@ page import="java.sql.*,javax.sql.*,javax.naming.*,java.io.*,java.util.*" %>
<p>以下的内容从通过数据源来查询的数据库信息...</p>
<i>
<%
Connection conn = null;
Statement stmt = null;
ResultSet rest = null;
try {
Context initCtx = new InitialContext();
DataSource ds = (DataSource)initCtx.lookup("java:comp/env/egs");
if (ds != null) {
conn = ds.getConnection();
stmt = conn.createStatement();
rest = stmt.executeQuery("SELECT * FROM TBL_USER_BASIC_INFO");
while(rest.next()){
out.println(rest.getString(1));
out.println(rest.getString(2));
out.println(rest.getString(3));
out.println(rest.getString(4));
out.println(rest.getString(5));
}
}
else{
System.out.println("连接失败...");
}
} catch(Exception e) {
out.println("Error:"+e.getMessage());
e.printStackTrace();
}
%>
<i>请问我的配置有问题吗???
答出者得分,谢谢了!!!!

解决方案 »

  1.   

    对了,系统的提示信息为:
      Error:Name egs is not bound in this Context
      

  2.   

    java:comp/env/egs是jndi 
    <Resource name="egs" ...是datasource
    在server配置中,这两个需要映射一下
      

  3.   

    大概是tomcat做服务器吧?
    在web.xml加入:一个节点:
    <resource-ref>
    <descryiption>DB Connection</descryiption>
    <res-ref-name>
    egs</res-ref-name>
    <res-type>
    javax.sql.DataSource </res-type>
    <res-auth>Container </res-auth>
    </resource-ref>