2 # Call procedure from csql Gateway
3 # Currently it works for mysql and oracle
8 TESTFILE
=${PWD}/jdbc
/Gateway
/ConnTest01.java
12 REL_PATH
=`pwd`/jdbc
/Gateway
14 export CLASSPATH
=$CLASSPATH:${REL_PATH}
16 cp $CSQL_CONFIG_FILE /tmp
/csql.conf
17 export CSQL_CONFIG_FILE
=/tmp
/csql.conf
18 echo DSN
=$DSN >>$CSQL_CONFIG_FILE
19 DS
="$DSN $DBUSER $PASSWORD"
20 rm -f /tmp
/csql
/csqlds.conf
21 touch /tmp
/csql
/csqlds.conf
22 $CSQL_INSTALL_ROOT/bin
/csqlds
-U $DBUSER -P $PASSWORD -D $DSN -N $TDB -a
27 if [ "$DSN" = "myodbc3" ]
29 echo "create table t1(f1 int,f2 int);" >${REL_PATH}/t1create.sql
30 echo "create procedure InParamSelect(in p1 int) select * from t1 where f1<p1;" > ${REL_PATH}/proc.sql
31 echo "drop procedure InParamSelect;">>${REL_PATH}/t1create.sql
32 echo "drop procedure InParamSelect;" >>${REL_PATH}/dp.sql
33 elif [ "$DSN" = "oracle" ]
35 echo "create table t1(f1 number(9),f2 number(9));" >${REL_PATH}/t1create.sql
36 echo "CREATE or replace PACKAGE CsqlRef AS TYPE ename_cur IS REF CURSOR; PROCEDURE InParamSelect(Ename IN OUT ename_cur, p1 IN NUMBER); END;">${REL_PATH}/proc.sql
37 echo "CREATE or replace PACKAGE BODY CsqlRef AS PROCEDURE InParamSelect(Ename IN OUT ename_cur, p1 IN NUMBER) AS BEGIN OPEN Ename for SELECT * from t1 where f1 < p1; END; END;">>${REL_PATH}/proc.sql
38 echo "drop PACKAGE CsqlRef;" >>${REL_PATH}/dp.sql
40 echo "insert into t1 values(12,23);">>${REL_PATH}/t1create.sql
41 echo "insert into t1 values(13,24);">>${REL_PATH}/t1create.sql
42 echo "insert into t1 values(14,25);">>${REL_PATH}/t1create.sql
43 echo "insert into t1 values(15,26);">>${REL_PATH}/t1create.sql
44 echo "drop table t1;">${REL_PATH}/dp.sql
46 isql
$DS < ${REL_PATH}/t1create.sql
>/dev
/null
2>&1
49 rm -f ${REL_PATH}/t1create.sql
50 rm -f ${REL_PATH}/proc.sql
53 isql
$DS < ${REL_PATH}/proc.sql
>/dev
/null
2>&1
56 rm -f ${REL_PATH}/t1create.sql
57 rm -f ${REL_PATH}/proc.sql
67 isql
$DS < ${REL_PATH}/dp.sql
>/dev
/null
2>&1
68 rm -f ${REL_PATH}/dp.sql
69 rm -f ${REL_PATH}/t1create.sql
70 rm -f ${REL_PATH}/proc.sql