jdbcµ÷ÓÃoracle function·µ»Ø½á¹û¼¯
ÉêÃ÷oracleº¯Êý£¬¼°Æä½á¹û¼¯½á¹¹
½á¹û¼¯±ØÐëΪȫ¾ÖµÄ¡¢table of ²»ÄÜÓÃindex by
CREATE OR REPLACE TYPE EMPARRAY is object (corporationId number)£»
CREATE OR REPLACE TYPE EMPARRAY2 is table of EMPARRAY£»
create or replace function func_empl return sys_refcursor is
Result sys_refcursor;
list emparray2 := emparray2();
item emparray ;
begin
select 1 into item.corporationId from dual;
list.extend;
list(list.count) := item;
item.corporationId := 2;
list.extend;
list(list.count) := item;
item.corporationId := 3;
list.extend;
list(list.count) := item;
OPEN Result FOR
SELECT * from TABLE(cast(list as emparray2));
return(Result);
end func_empl;
»ñÈ¡·µ»ØÓαꡣ
public void callFuncQuery(String sql, RowCallbackHandler rch,
String returnType) throws DataAccessObjectException {
Connection con = null;
CallableStatement cstmt = null;
ResultSet rs = null;
logger.info(sql);
try {
con = getDataSource().getConnection();
cstmt = con.prepareCall(sql);
//ÊÊÓÃÓÚÊý×é
//cstmt.registerOutParameter(1, OracleTypes.ARRAY, returnType);
//cstmt.registerOutParameter(1, OracleTypes.STRUCT, returnType);
//ÊÊÓÃÓÚÓαê
cstmt.registerOutParameter(1, OracleTypes.CURSOR);
cstmt.executeUpdate();
/*Array out=cstmt.;
System.out.println("Array is of type "
+ out.getBaseTypeName());
System.out.println("Array element is of type code "
+ out.getBaseType());*/
rs = (ResultSet)cstmt.getObject(1);
while (rs.next()) {
rch.processRow(rs);
}
} catch (SQLException e) {
throw new DataAccessObjectException(e);
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (cstmt != null) {
cstmt.close();
cstmt = null;
}
if (con != null) {
con.close();
con = null;
}
} catch (SQLException e) {
throw new DataAccessObjectException(e);
}
}
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
ÔÚ°²×°oracleµÄDBCA¹ý³ÌÖУ¬ÔÚ´´½¨²¢Æô¶¯oracleʵÀý£¨´´½¨¿Ë¡Êý¾Ý¿â£¬½ø¶ÈÌõÔÚ45%£©¾Í½øÐв»ÏÂÈ¥ÁË£¬ÖØ×°Á˼¸´ÎÖÕÓÚÕÒµ½ÎÊÌâµÄÖ¢½áÁË£¬½â¾ö¹ý³ÌÈçÏ£º
1¡¢×°Á˼¸±é¾ÍÊÇÄǸöÎÊÌ⣬ÎÒͻȻÏëµ½Òª¿´¿´°²×°ÈÕÖ¾¡£
2¡¢ÊÇÔÚ´´½ ......
in µÄ»°£¬ Èç¹ûÊÇnull ¾Í²»±È½ÏÁË£¬¼È²»ÊÇin Ò²²»ÊÇ not in
existsµÄ»° ÒòΪÓà = ¼ÓÔÚÌõ¼þÀï±È½ÏÁË£¬ËùÒÔ null ÊÇ not exists
select *
from pricetemp
where cast(ÉÌÆ·¥³ー¥É as varchar(10))not in(
select shohin_cd
&nbs ......
listener.ora¡¢ tnsnames.oraºÍsqlnet.oraÕâ3¸öÎļþÊǹØÏµoracleÍøÂçÅäÖõÄ3¸öÖ÷ÒªÎļþ£¬ÆäÖÐlistener.oraÊǺÍÊý¾Ý¿â·þÎñÆ÷¶Ë Ïà¹Ø£¬¶øtnsnames.oraºÍsqlnet.oraÕâ2¸öÎļþ²»½ö½ö¹ØÏµµ½·þÎñÆ÷¶Ë£¬Ö÷ÒªµÄ»¹ÊǺͿͻ§¶Ë¹ØÏµ½ôÃÜ¡£
¼ì²é¿Í»§¶ËoracleÍøÂçµÄʱºò¿ÉÒÔÏȼì²ésqlnet.oraÎļþ£º
# SQLNET.ORA Network Configuration ......
·½·¨Ò»£¬Ê¹ÓÃSQL*Loader
Õâ¸öÊÇÓõĽ϶àµÄ·½·¨£¬Ç°Ìá±ØÐëoracleÊý¾ÝÖÐÄ¿µÄ±íÒѾ´æÔÚ¡£
´óÌå²½ÖèÈçÏ£º
1 ½«excleÎļþÁí´æÎªÒ»¸öÐÂÎļþ±ÈÈçÎļþÃûΪtext.txt£¬ÎļþÀàÐÍÑ¡Îı¾Îļþ£¨ÖƱí·û·Ö¸ô£©£¬ÕâÀïÑ¡ÔñÀàÐÍΪcsv£¨¶ººÅ·Ö¸ô£©Ò²ÐУ¬µ«ÊÇÔÚдºóÃæµÄcontrol. ......