安裝測試環境以Tomcat 5.5為例。
簡單摘要幾個重點
1) 先下載 Oracle JDBC Driver,要先登入Oracle的會員才能下載。
2) 下載完得jar檔(如 classes12.jar)要放在 Apache 環境下 common\lib\ 下
3) 在/conf 下設定 context.xml, 加入如下面的code
<Resource name="jdbc/myoracle" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
username="scott" password="tiger" maxActive="20" maxIdle="10"
maxWait="-1"/>
4)在 web.xml 下新增以下的敘述
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
5) 可以建一個jsp 插入下面的程式碼
...
<%@page import="java.util.*, javax.naming.*, java.sql.*, javax.sql.*"%>
...
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
Connection conn = ds.getConnection();
String sql = "";
ResultSet rs = null;
Use db
sql = "SELECT * FROM TABLE";
rs = smt.executeQuery(sql);
while(rs.next())
{
out.println(rs.getString("ID"));
out.println(rs.getString());
out.println("");
}
con.close();
補充 在eclipse 下 產生 Name jdbc is not bound in this Context 解決方式:
主要參考[2] 的作法 把 context.xml 複製到 META-INF下,在 WEB-INF下的web.xml 也加入4)的程式碼。
參考:
[1]: Apache Tomcat 6.0, JNDI Datasource HOW-TO
[2]: exception - name jdbc is not bound in this context, http://www.coderanch.com
沒有留言:
張貼留言