| 組件 | 版本 | 安裝目錄 |
|---|---|---|
| JDK | 1.4.2_06 | D:\j2sdk1.4.2_06 |
| JBoss | 4.0.1 RC1 | D:\jboss4.0 |
| Oracle | 9i | 默認 |
| JBuilder | 2005 | 默認 |
JAVA_HOME=D:\j2sdk1.4.2_06
JBOSS_HOME=D:\jboss4.0
PATH=%JAVA_HOME%\bin;%JBOSS_HOME%\bin;%PATH%
D:\jboss4.0# 複製 Oracle 驅動到 JBoss 共享庫
copy classes111.zip classes12.zip %JBOSS_HOME%\server\default\lib\
%JBOSS_HOME%\docs\examples\jca\oracle-xa-ds.xml 到 %JBOSS_HOME%\server\default\deploy\oracle-ds.xml 到 deploy 目錄
OracleDS
jdbc:oracle:thin:@localhost:1521:oradb
oracle.jdbc.driver.OracleDriver
hrms
hrms
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
Oracle9i
# 1. 創建目錄結構
%JBOSS_HOME%\server\default\deploy\db_test.war\
index.jsp
WEB-INF\
web.xml
jboss-web.xml
<%@ page import="java.sql.*, javax.sql.DataSource, javax.naming.InitialContext" %>
<%
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:/OracleDS");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL");
while (rs.next()) {
out.println(rs.getString(1) + "
");
out.println("My name is Justinchen
");
}
conn.close();
%>
jdbc/OracleDS
java:/OracleDS
DB Test
jdbc/OracleDS
javax.sql.DataSource
Container
瀏覽器打開 https://localhost:8080/db_test/,顯示數據庫時間與字符串即成功。
NameNotFoundException: OracleDS not bound → 檢查 oracle-ds.xml 中 jndi-name 與 JSP lookup 名稱一致。ClassNotFoundException: OracleDriver → 驅動 Jar 未放入 server/default/lib 或 JBoss 未重啟。ORA-12505 → SID/Service Name 錯誤,檢查 connection-url 與 tnsnames.ora。