J2EEÓ¦ÓÃÖÐÓëOracleÊý¾Ý¿âµÄÁ¬½Ó
ÔÚJ2EEÓ¦ÓóÌÐò¿ª·¢ÖУ¬Ó¦ÓóÌÐòÓëÊý¾Ý¿âÁ¬½ÓµÄ½¨Á¢ÊÇÎÒÃǾ³£Óöµ½µÄÎÊÌâÖ®Ò»¡£ÔÚÕâÀïÎÒÖ÷Ҫ̸̸ÔÚ±¾µØÓ¦ÓóÌÐòÖÐͨ¹ýOCI·½Ê½¡¢thin·½Ê½ºÍJdbcOdbcÇÅ·½Ê½Á¬½ÓOracleÊý¾Ý¿â£¬ÔÚiPlanet Application Server 6.5ºÍSun ONE Application Server 7ÖжÔOracleÊý¾Ý¿âÁ¬½Ó³ØµÄÅäÖÃÒÔ¼°Ó¦ÓÃÖÐÈçºÎ´ÓÁ¬½Ó³ØÖлñµÃÁ¬½Ó¡£
Ò»¡¢±¾µØÍ¨¹ýJDBC»ñµÃOracleÊý¾Ý¿âÁ¬½Ó
¡¡¡¡Í¨¹ýJDBC»ñµÃOracleÊý¾Ý¿âÁ¬½Ó£¬ÓÐÈýÖÖ·½Ê½£ºOCI·½Ê½¡¢thin·½Ê½ºÍJdbcOdbcÇÅ·½Ê½¡£OCI·½Ê½ÒÀÀµÓÚ±¾µØµÄ¶¯Ì¬Á´½Ó¿â£¬Èç¹ûÔÚ±¾µØ°²×°ÁËOracleÊý¾Ý¿â¿Í»§¶Ë¿ÉÒÔ²ÉÓø÷½Ê½£»¶øthin·½Ê½Îª´¿javaµÄÊý¾Ý¿âÁ¬½Ó·½Ê½£»JdbcOdbcÇÅ·½Ê½ÒÀÀµÓÚ±¾µØODBCÊý¾Ý¿âÔ´µÄÅäÖã¬ÕâÖÖ·½Ê½Ò»°ã²»Ì«±»²ÉÓá£
¡¡¡¡1¡¢OCI·½Ê½
¡¡¡¡ÏÈÔÚ±¾µØ°²×°Oracle¿Í»§¶Ë£¬°²×°ÍêÖ®ºó£¬ÔÚ°²×°µÄ·¾¶ÖпÉÒÔÕÒµ½…/jdbc/lib/classes12.zipÎļþ£¬ÎÒÃÇÔÚ»·¾³±äÁ¿classpathÖÐÉèÖÃclasses12.zipËùÔڵķ¾¶¡£
¡¡¡¡È»ºóͨ¹ýÒÔϵÄÊý¾Ý¿âÁ¬½ÓÀ࣬ÔÚ±¾µØÍ¨¹ýOCI·½Ê½»ñµÃOracleÊý¾Ý¿âÁ¬½Ó¡£
/**
* ÔÚ±¾µØ»ñµÃÊý¾Ý¿âÁ¬½Ó
*/
package com.j2ee.db;
import java.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
import javax.naming.*;
/**
* ͨ¹ýOCI·½Ê½»ñµÃOracleÊý¾Ý¿âÁ¬½Ó
*/
public class DbConnection
{
¡¡final static String sDBDriver = "oracle.jdbc.driver.OracleDriver";
¡¡final static String sConnStr = "jdbc:oracle:oci8:sr/sr@ora199";
¡¡/**
¡¡*
¡¡*/
¡¡public DbConnection()
¡¡{
¡¡}
¡¡/**
¡¡* »ñµÃOracleÊý¾Ý¿âÁ¬½Ó
¡¡*/
¡¡public java.sql.Connection connectDbByOci()
¡¡{
¡¡¡¡java.sql.Connection conn=null;
¡¡¡¡try
¡¡¡¡{
¡¡¡¡¡¡Class.forName(sDBDriver);
¡¡¡¡¡¡conn = DriverManager.getConnection(sConnStr);
¡¡¡¡}
¡¡¡¡catch (Exception e)
¡¡¡¡{
¡¡¡¡¡¡System.out.println("ERROR:"+e.getMessage());
¡¡¡¡}
¡¡¡¡return conn;
¡¡}
}
¡¡¡¡ÔÚÁ¬½Ó×Ö·û´® "jdbc:oracle:oci8:sr/sr@ora199" ÖУ¬"sr/sr"ΪOracleÓû§µÄÓû§ÃûºÍ¿ÚÁ"ora199"ΪÊý¾Ý¿â·þÎñÃû¡£
2¡¢thin·½Ê½
¡¡¡¡Ïȵ½Oracle¼¼ÊõÍø£¨http://otn.oracle.com/global/cn/software/tech/java/sqlj_jdbc/index.html£©ÏÂÔØOracle JDBC Drivers£¬Í¬ÑùµØ½«ÏÂÔØºóµÄzipÎļþµÄ·¾¶ÉèÖÃÔÚ»·¾³±äÁ¿classpath¡£
¡¡¡¡È»ºóͨ¹ýÒÔϵÄÊý¾Ý¿âÁ¬½ÓÀ࣬ÔÚ±¾µØ
Ïà¹ØÎĵµ£º
¶ÔÓÚOracle ORA-24343ÕâÖÖ´íÎó£¬OracleµÄ¹Ù·½½âÊÍÊÇ£º
Error Message: ORA-24343 user defined callback error
Error Cause:
The only valid return value for a user defined callback function is OCI_ CONTINUE. Any other value will cause this error.
Action:
Make sure that OCI_CONTINUE i ......
ÏîÄ¿ÀïÒ»¸ö¹¦ÄÜÒªÓõ½Ëæ»úÅÅÐò£¬µ«ÊǺóÀ´ÓÖÒòΪÊý¾ÝÁ¿´óµÄÔÒò£¬Òª·Öҳȥ²éѯÊý¾Ý£¬½á¹ûµ¼Ö²éѯ³öÀ´µÄÊý¾Ý³öÏÖÖØ¸´¡£
ÔsqlÈçÏÂselect * from ( select row_.*, rownum rownum_ from
(select * from tble order by dbms_random.random) row_ where rownum <= 12) where rownum_ > 10;
ºóÀ´½â¾ö°ì·¨£¬²åÈ ......
ºÜ¾Ã²»ÓõÄoralceÊý¾Ý¿â£¬Èç¹ûÍü¼ÇÁËÃÜÂ룬¿ÉÒÔÕâÑù½â¾ö£º
Èç¹ûûÓÐÉèÖû·¾³±äÁ¿£¬ ȥĿ¼C:\oracle\product\10.2.0\db_1\BIN Ö´ÐÐÒÔÏÂÃüÁ
C:\oracle\product\10.2.0\db_1\BIN>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jan 22 16:00:18
2010 Copyright (c) 1982, 2005, Oracle. All ri ......
Ó¦ÓÃϵͳ²»ÄÜÔËÐУ¬¸æ¾¯ÈÕÖ¾±¨¸æÁÙʱ±í¿Õ¼ä²»ÄÜÀ©Õ¹£¬¹À¼ÆÊÇÒµÎñsql´æÔÚ´óÁ¿ÅÅÐò£¬Ö»ÄÜÔö¼ÓÁÙʱ±í¿Õ¼ä»º½âÕâ¸öÎÊÌâ¡£
ÁíÍ⻹¿ÉÄÜÒªÇåÀíÁÙʱ¶ÎÖØÕûÁÙʱ±í¿Õ¼äÊͷſռ䣺
²é¿´Ò»ÏÂÈÏËÔÚÓÃÁÙʱ¶Î£º
SQL> SELECT /*+ rule */ se.username,se.sid,se.serial#,se.sql_address,se.machine,se.program,
su.tablespace,su.se ......